Metadata-Version: 2.1
Name: camerahub
Version: 0.36.12
Summary: App for cataloguing vintage cameras, lenses, films, negatives & prints
Home-page: https://camerahub.info/
License: Apache-2.0
Author: Jonathan Gazeley
Author-email: camerahub@jonathangazeley.com
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.2
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Database
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Provides-Extra: pgsql
Requires-Dist: Django (>=3,<4)
Requires-Dist: awesome-slugify (>=1.6.5,<2.0.0)
Requires-Dist: django-autocomplete-light (>=3.9,<4.0)
Requires-Dist: django-autosequence (>=0,<1)
Requires-Dist: django-bootstrap-datepicker-plus (>=4,<5)
Requires-Dist: django-choices (>=1.7,<2.0)
Requires-Dist: django-colorfield (>=0.7,<0.8)
Requires-Dist: django-countries (>=7,<8)
Requires-Dist: django-crispy-forms (>=1.14,<2.0)
Requires-Dist: django-currentuser (>=0.5,<0.6)
Requires-Dist: django-dbbackup (>=3,<4)
Requires-Dist: django-filter
Requires-Dist: django-fullurl (>=1,<2)
Requires-Dist: django-geoposition-2 (>=0.3.11,<0.4.0)
Requires-Dist: django-health-check (>=3.17,<4.0)
Requires-Dist: django-leaflet (>=0.28,<0.29)
Requires-Dist: django-money (>=3,<4)
Requires-Dist: django-prometheus (>=2.2,<3.0)
Requires-Dist: django-registration (>=3.0,<4.0)
Requires-Dist: django-sendgrid-v5
Requires-Dist: django-settings-export (>=1.2,<2.0)
Requires-Dist: django-simple-history (>=3,<4)
Requires-Dist: django-social-share (>=2,<3)
Requires-Dist: django-star-ratings (>=0.9,<0.10)
Requires-Dist: django-tables2 (>=2.4,<3.0)
Requires-Dist: django-taggit (>=2,<3)
Requires-Dist: django-versatileimagefield (>=2,<3)
Requires-Dist: django-watson (>=1.6,<2.0)
Requires-Dist: django3-collectionfield (>=1,<2)
Requires-Dist: djangorestframework (>=3.14,<4.0)
Requires-Dist: drf-generators (>=0.5,<0.6)
Requires-Dist: drf-multiple-serializer (>=0.2,<0.3)
Requires-Dist: numpy (>=1.23,<2.0)
Requires-Dist: platformdirs (>=2.5,<3.0)
Requires-Dist: psycopg2 (>=2,<3) ; extra == "pgsql"
Requires-Dist: pytz
Requires-Dist: pyyaml (>=6,<7)
Requires-Dist: uWSGI (>=2,<3)
Requires-Dist: uritemplate (>=4,<5)
Project-URL: Repository, https://github.com/camerahub/camerahub
Description-Content-Type: text/markdown

# CameraHub

CameraHub is a web app for film photography that can be used to track cameras, lenses, accessories, films, negatives and prints, to fully
catalogue a collection of photographic equipment as well as the pictures that are made with them.

It replaces an earlier command-line project, called [PhotoDB](https://github.com/djjudas21/photodb-perl), which has now been deprecated.

## Installing CameraHub

There are several ways of installing CameraHub, depending on your needs:

* With Pip
* [From source](docs/operations/source.rst)
* [With Docker](docs/operations/docker.rst)
* [With Kubernetes](docs/operations/kubernetes.rst)

## Configuring CameraHub

CameraHub requires almost no additional config to run with default settings. However it is insecure in this configuration so at least `CAMERAHUB_SECRET_KEY` and
`CAMERAHUB_PROD` must be set if you are running in production.

The following environment variables are supported:

### `CAMERAHUB_ADMIN_EMAIL`

Email address for the `admin` account
Default: `admin@example.com`

### `CAMERAHUB_ADMIN_PASSWORD`

Password for the `admin` account
Default: `admin`

### `CAMERAHUB_DB_ENGINE`

[Database engine](https://docs.djangoproject.com/en/3.0/ref/settings/#engine)
Default: `django.db.backends.sqlite3`

### `CAMERAHUB_DB_HOST`

[Database hostname or IP address](https://docs.djangoproject.com/en/3.0/ref/settings/#host) if an engine other than SQLite is configured

### `CAMERAHUB_DB_NAME`

[Database schema or path to SQLite db](https://docs.djangoproject.com/en/3.0/ref/settings/#name)
`db/db.sqlite3`

### `CAMERAHUB_DB_PASS`

[Database password](https://docs.djangoproject.com/en/3.0/ref/settings/#password) if an engine other than SQLite is configured

### `CAMERAHUB_DB_PORT`

[Database port](https://docs.djangoproject.com/en/3.0/ref/settings/#port) if an engine other than SQLite is configured

### `CAMERAHUB_DB_USER`

[Database username](https://docs.djangoproject.com/en/3.0/ref/settings/#user) if an engine other than SQLite is configured

### `CAMERAHUB_PROD`

Enable [Django production mode](https://docs.djangoproject.com/en/3.0/ref/settings/#debug)
Default: `false`

### `CAMERAHUB_SECRET_KEY`

Random secret value. The default string is for testing only and is insecure in production. Generate a new one [here](https://miniwebtool.com/django-secret-key-generator/)
Default: `OverrideMe!`

### `CAMERAHUB_EMAIL_BACKEND`

[Email backend](https://docs.djangoproject.com/en/3.1/topics/email/#email-backends)
Default: `django.core.mail.backends.filebased.EmailBackend`

### `CAMERAHUB_SENDGRID_KEY`

API key for Sendgrid email backend

### `CAMERAHUB_EMAIL_USE_TLS`'

Enable TLS for SMTP

### `CAMERAHUB_EMAIL_USE_SSL`'

Enable TLS for SMTP

### `CAMERAHUB_EMAIL_HOST`

SMTP server hostname

### `CAMERAHUB_EMAIL_HOST_USER`

SMTP server username

### `CAMERAHUB_EMAIL_HOST_PASSWORD`

SMTP server password

### `CAMERAHUB_EMAIL_PORT`

SMTP server port number

### `CAMERAHUB_FROM_EMAIL`

[From email address](https://docs.djangoproject.com/en/3.0/ref/settings/#default-from-email)
Default: `noreply@camerahub.info`

### `CAMERAHUB_DOMAIN`

[Site domain](https://docs.djangoproject.com/en/3.0/ref/settings/#allowed-hosts)
Default: `camerahub.info`

### `CAMERAHUB_STATUS_URL`

URL for a status page

## Fixtures

Base data is supplied as fixtures and must be manually imported after installation. These are **not** idempotent so should only be run once.

```sh
python manage.py loaddata --app schema Condition ExposureProgram Filmstock Format Manufacturer MeteringMode MeteringType Mount NegativeSize Process ShutterSpeed
```

## See also

* [Changelog](https://github.com/camerahub/camerahub/releases)
* [Docs](docs/index.rst)

