picturesq
Turn a folder of RAW photos into consistently graded exports. No photo editor needed.
picturesq run ./lisbon # decode → normalise → grade → export
picturesq ui ./lisbon # choose looks and set their intensity in a tiny local web UI
Status: pre-alpha (M0, setup). Plan: docs/project-plan.md · Roadmap: project board.
- Any camera LibRaw supports; built and tested on DJI Osmo Pocket 4 DNGs
- Runs on an 8 GB, CPU-only laptop (Linux/WSL2, Windows)
- Looks in four categories (B/W · Cold · Warm · Cinematic), each with adjustable intensity
- Config is YAML, written by the web UI and editable by coding agents
Development
uv sync
uv run pytest
See AGENTS.md for conventions and docs/glossary.md for vocabulary.
Releasing
Releases are manual for now and triggered by a v* tag. Pushing the tag runs the Release workflow, which builds with uv build and publishes to PyPI via trusted publishing (no API token).
- Set
versioninpyproject.toml(e.g.0.0.1) and merge it tomainvia PR. - Tag the merge commit and push the tag:
git tag v0.0.1 git push origin v0.0.1
- Check the workflow run succeeded and the new version appears on PyPI.
The tag must match version in pyproject.toml. The pypi environment only accepts v* tags.
Metadata
Release files for picturesq 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| picturesq-0.0.1.tar.gz | 41.0 kB | Without provenance | Details for picturesq-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| picturesq-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for picturesq-0.0.1-py3-none-any.whl |
Total release size: 48.3 kB
Release files / picturesq-0.0.1.tar.gz
| Download URL | picturesq-0.0.1.tar.gz |
|---|---|
| Size | 41.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b6b06769216055c9dbc1aa08e285ed8cad9d561358ee9c978ced71fcb2a463b
|
|
BLAKE2b-256 checksum How to use checksums |
87aed51844984892939dd8be1dc077ced315d621b41572dd44f508dad32bfd90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / picturesq-0.0.1-py3-none-any.whl
| Download URL | picturesq-0.0.1-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
432334980ce8bdcdb35504dd49ac41b6eece7a215a44a6d9199fdf292cf2c377
|
|
BLAKE2b-256 checksum How to use checksums |
8d09e401af2e683ee5e4e4c39061667c92c51c70cbc7e85af5f2a5c2083c7aeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for picturesq 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.