Skip to main content

Application for storing photos in S3 compatible object-storage.

Project description

Photo Objects

CI Release

Application for storing photos in S3 compatible object-storage. Key features:

  • Automatically scales photos according to different sizes defined in settings.
  • Provides simple grouping and access control for the photos with albums.

Developing

Build containers:

docker compose build

Start or update development environment:

docker compose up -d

Print initial admin password (username of the initial administrator account is admin):

docker compose exec api cat /var/photo_objects/initial_admin_password

Make database migrations (requires development environment to be running):

python3 back/manage.py makemigrations --pythonpath="$(pwd)"

Testing

Static analysis

Check and automatically fix formatting with:

pycodestyle --exclude back/api/settings.py,*/migrations/*.py back photo_objects
autopep8 -aaar --in-place --exclude back/api/settings.py,*/migrations/*.py back photo_objects

Run static analysis with:

pylint back/api photo_objects

Integration tests

Run integration tests (in the api directory) with:

python3 runtests.py

Get test coverage with:

coverage run --branch --source photo_objects runtests.py
coverage report -m

End-to-end tests

Run end-to-end tests with Docker Compose:

docker compose -f docker-compose.test.yaml up --exit-code-from test --build

Run end-to-end tests in interactive mode (in the tests directory):

# Install dependencies
npm ci

# Start test target
docker compose up -d

# Configure credentials
export USERNAME=admin
export PASSWORD=$(docker compose exec api cat /var/photo_objects/initial_admin_password)

# Start test UI
npx playwright test --ui

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photo_objects-0.15.0.tar.gz (51.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

photo_objects-0.15.0-py3-none-any.whl (80.6 kB view details)

Uploaded Python 3

File details

Details for the file photo_objects-0.15.0.tar.gz.

File metadata

  • Download URL: photo_objects-0.15.0.tar.gz
  • Upload date:
  • Size: 51.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for photo_objects-0.15.0.tar.gz
Algorithm Hash digest
SHA256 8130145b7e9f20b5ac7dffdb13f2af4dfcd9e2ee2e56aa0450f917a43b76ddff
MD5 1fe4f8313b72ba1f6bb3d2fe381a9b1d
BLAKE2b-256 9cb1f3a3be32cf422847b1ba7029cec73932e8454152a79473e6370ca5502afc

See more details on using hashes here.

File details

Details for the file photo_objects-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: photo_objects-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 80.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for photo_objects-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b139b32a13577f65850c00bf05c8ecb56157b2e477f240daffbeb461990e2f3a
MD5 2a50fad8a12abdf0062ee6266a2391a9
BLAKE2b-256 ed05bc2c54c7f42b2d148d46462ddce09e97eb0e1a875d40f36bcb0ffbde7f68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page