photoprism

module
Version: v0.0.0-...-4dd09f4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2021 License: AGPL-3.0

README

PhotoPrism: Browse Your Life in Pictures

Code Quality Build Status GitHub contributors Documentation Community Chat Twitter

PhotoPrism® is a privately hosted app for browsing, organizing, and sharing your photo collection. It makes use of the latest technologies to tag and find pictures automatically without getting in your way. Say goodbye to uploading your visual memories to the cloud!

To get a first impression, you're welcome to play with our public demo at demo.photoprism.org.

Key Features

  • Our intuitive user interface makes browsing and organizing your photo collection as easy as it should be — whether it’s on a phone, tablet, or desktop computer.
  • Index everything without worrying about duplicates or RAW to JPEG conversion.
  • Automatic image classification based on Google TensorFlow. In addition, our indexer detects colors, chroma, luminance, quality, panoramic projection, location type, and many other properties.
  • Includes four high-resolution world maps to see where you've been, and for rediscovering long-forgotten shots.
  • WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, may connect directly to PhotoPrism so that you to can open, edit, and delete files from your computer or phone as if they were local. You may easily sync your pictures with PhotoSync as well.
  • Because PhotoPrism is built as a progressive web app, it provides a native app-like experience, and you may install it on your home screen. There's also a community-maintained native app in development.

Getting Started

Step-by-step installation instructions for our self-hosted community edition can be found on docs.photoprism.org - all you need is a Web browser and Docker to run the server. It is available for Mac, Linux, and Windows.

We recommend hosting PhotoPrism on a server with at least 2 cores and 4 GB of memory. Beyond these minimum requirements, the amount of RAM should match the number of cores. Indexing large photo and video collections significantly benefits from fast, local SSD storage.

Roadmap

Our vision is to provide the most user-friendly solution for browsing, organizing, and sharing your photo collection. The roadmap shows what tasks are in progress, what needs testing, and which feature requests are going to be implemented next.

Please give ideas you like a thumbs-up 👍 , so that we know what is most popular. Ideas backed by one or more eligible sponsors will be prioritized as well.

Contributions

We welcome contributions of any kind. If you have a bug or an idea, read our guide before opening an issue. Issues labeled help wanted / easy can be good (first) contributions.

Follow us on Twitter to receive regular project updates and discuss development related topics. Don't be afraid to ask stupid questions.

Funding

You're welcome to support us via GitHub Sponsors, especially if you have feature requests1 or need help with using our software. In addition, you can find us on Patreon and PayPal. We've also set up crypto wallets.

Your continuous support helps...

  • pay for operating expenses and external services like satellite maps
  • developing new features and keeping them free for everyone 🌈

Also, please leave a star on GitHub if you like this project. It provides additional motivation to keep going.

Thank you very much! <3

1 Ideas backed by one or more eligible sponsors are marked with a golden label. Let us know if we mistakenly label an idea as unfunded.

Trademarks

PhotoPrism® is a registered trademark of Michael Mayer. You may use it as required to describe our software, run your server, for educational purposes, but not for offering commercial goods, products, or services without prior written permission. In other words, please ask.

Directories

Path Synopsis
cmd
pkg
capture
Package capture provides profiling functions for testing and debugging.
Package capture provides profiling functions for testing and debugging.
clusters
Package clusters provides abstract definitions of clusterers as well as their implementations.
Package clusters provides abstract definitions of clusterers as well as their implementations.
colors
Package colors provides types and functions for color classification.
Package colors provides types and functions for color classification.
fastwalk
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.
fs
Package fs provides filesystem related constants and functions.
Package fs provides filesystem related constants and functions.
pluscode
Package pluscode provides an abstraction for Google's Open Location Code package.
Package pluscode provides an abstraction for Google's Open Location Code package.
rnd
Package rnd provides random token generation and validation.
Package rnd provides random token generation and validation.
s2
Package s2 encapsulates Google's S2 library.
Package s2 encapsulates Google's S2 library.
txt
Code generated by go generate; DO NOT EDIT.
Code generated by go generate; DO NOT EDIT.
internal
acl
Package acl contains PhotoPrism's access control lists for authorizing user actions.
Package acl contains PhotoPrism's access control lists for authorizing user actions.
api
Package api contains PhotoPrism REST API handlers.
Package api contains PhotoPrism REST API handlers.
auto
Package workers contains auto indexing & importing workers.
Package workers contains auto indexing & importing workers.
classify
Package classify encapsulates image classification using TensorFlow.
Package classify encapsulates image classification using TensorFlow.
commands
Package commands contains commands and flags used by the photoprism application.
Package commands contains commands and flags used by the photoprism application.
config
Package config contains CLI config related config functionality.
Package config contains CLI config related config functionality.
crop
Package crop provides image crop data structures and helpers.
Package crop provides image crop data structures and helpers.
entity
Package entity contains models for data storage based on GORM.
Package entity contains models for data storage based on GORM.
face
Package face provides facial recognition.
Package face provides facial recognition.
form
Package form contains tagged structs for input value validation.
Package form contains tagged structs for input value validation.
hub
Package hub contains backend api config & clients.
Package hub contains backend api config & clients.
hub/places
Package places encapsulates the PhotoPrism Places geolocation API.
Package places encapsulates the PhotoPrism Places geolocation API.
i18n
Package i18n contains PhotoPrism status and error message strings.
Package i18n contains PhotoPrism status and error message strings.
maps
Code generated by go generate; DO NOT EDIT.
Code generated by go generate; DO NOT EDIT.
maps/osm
Package osm encapsulates the OpenStreetMap API.
Package osm encapsulates the OpenStreetMap API.
meta
Package meta encapsulates image metadata decoding and conversion to/from XMP and Exif.
Package meta encapsulates image metadata decoding and conversion to/from XMP and Exif.
nsfw
Package nsfw uses TensorFlow to detect images that may not be safe for work.
Package nsfw uses TensorFlow to detect images that may not be safe for work.
photoprism
Package photoprism contains PhotoPrism core functionality.
Package photoprism contains PhotoPrism core functionality.
query
Package query contains frequently used database queries for use in commands and API.
Package query contains frequently used database queries for use in commands and API.
remote
Package remote implements remote service sync and uploads.
Package remote implements remote service sync and uploads.
remote/webdav
Package webdav implements sharing with WebDAV servers.
Package webdav implements sharing with WebDAV servers.
search
Package search performs common index search queries.
Package search performs common index search queries.
server
Package server contains REST server routes and configuration.
Package server contains REST server routes and configuration.
session
Package session provides session storage and management.
Package session provides session storage and management.
thumb
Package thumb provides JPEG resampling and thumbnail generation.
Package thumb provides JPEG resampling and thumbnail generation.
video
Package video provides video file related types and functions.
Package video provides video file related types and functions.
workers
Package workers contains background workers for file sync & metadata optimization.
Package workers contains background workers for file sync & metadata optimization.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL