No description
| demo | ||
| docs/adr | ||
| src/fabritrack | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .python-version | ||
| fabritrack | ||
| Justfile | ||
| LICENSE | ||
| mkdocs.yaml | ||
| pyproject.toml | ||
| readme.md | ||
| todo.md | ||
| uv.lock | ||
FabriTrack
FabriTrack is a small software application for managing food production. It uses an activity log as input and produces inventory, traceability, and other reports.
This application follows an event-sourced architecture. It consumes an event log stored under the data/ directory. Events are stored as YAML files, which represent the source of truth for the system. The CLI commands read these YAML events to rebuild state and generate reports (inventory, traceability, costs, etc.).
Usage
There is a demo data directory under demo/.
You can use it to try the application.
Show global help and the list of available commands:
uv run ./fabritrack --help
To show the inventory:
uv run ./fabritrack --lb demo inventory list
Development
fabritrack is written in Python 3.13. This project uses :
- uv for dependency management.
- Ruff for linting.
- Ty for typechecking.
- Mypy for typechecking.
- pytest for testing.
- mkdocs for documentation.
- Make for build automation.
- Hypothesis for property-based testing.
- coverage for test coverage.
uv sync
Make targets:
- Run tests:
uv run make test - Run typechecker:
uv run make typecheck - Run linter:
uv run make lint - Run formatter:
uv run make reformat - Run tests coverage:
uv run make coverage - Generate API documentation:
uv run make docs