FX project and DevOps operations CLI.
Project description
fx-tool
fx is the grouped project manager and operations CLI for projects built on
registers.
It creates minimal cli, db, and cron projects, runs packages by
discovering __main__.py, manages project-local .fx/fx.db state, and
operates registers.cron workflows.
Quick Start
fx project init cli MyTool
fx project status MyTool
fx project health MyTool
fx run cli MyTool
DB/FastAPI project:
fx project init db ApiService --layout src
fx run api ApiService --host 0.0.0.0 --port 9000 --reload
Cron project:
fx project init cron OpsJobs
fx cron jobs OpsJobs
Project Layout
The default layout is src/<package>/. Use --layout root to create
<root>/<package>/, and --package <name> to choose the package name.
Scaffolds are intentionally bare-bones. They do not generate todo apps, sample user APIs, or domain-specific tests.
CLI projects create:
.gitignore
README.md
pyproject.toml
.fx/fx.db
src/<package>/__init__.py
src/<package>/__main__.py
DB projects also create api.py and models.py; DB projects run through
Uvicorn as <package>.api:app. Cron projects also create jobs.py.
Commands
fx project init cli|db|cron <name> [root] --package <package> --layout src|root --force
fx project status <root>
fx project health <root>
fx project history <root> [limit]
fx run auto|cli|api|cron <root> --package <package>
fx module add <root> cli|db|cron <module_name>
fx module list <root>
fx module remove <root> <module_name>
fx plugin link <root> <package_path> [alias]
fx plugin list <root>
fx plugin unlink <root> <alias>
fx plugin sync <root>
fx package install <root> --extras dev
fx package update <root> --source pypi|git|path
fx package pull <root> <repo_url>
fx cron jobs <root>
fx cron trigger <root> <job_name> --payload '{"k":"v"}'
fx cron start <root> --workers 4
fx cron status <root>
fx cron stop <root>
fx cron workspace <root>
fx cron generate <root> --target github_actions
fx cron apply <root> --target linux_cron
fx cron register <root> <workflow_name> <workflow_file> --job <job_name>
fx cron workflows <root>
fx cron run-workflow <root> <workflow_name>
Legacy flat commands such as fx init, fx status, fx run ., fx install,
and action-router cron forms are intentionally removed.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fx_tool-1.2.1.tar.gz.
File metadata
- Download URL: fx_tool-1.2.1.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2923f741f23bfa1b5c54c2f74ab0581c3d8e53684ff29703f900eea0b350d6a
|
|
| MD5 |
88c600447763d4e3636c040c693209f3
|
|
| BLAKE2b-256 |
dbefe2d4da2c60e9650fee0270ca280aaf59e08f9306dd8850efa43ec17441ab
|
Provenance
The following attestation bundles were made for fx_tool-1.2.1.tar.gz:
Publisher:
publish.yml on nexustech101/fx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fx_tool-1.2.1.tar.gz -
Subject digest:
a2923f741f23bfa1b5c54c2f74ab0581c3d8e53684ff29703f900eea0b350d6a - Sigstore transparency entry: 1487463324
- Sigstore integration time:
-
Permalink:
nexustech101/fx@1b5443349cf4e0d3700ccfa036a4c0ce04dcdc38 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/nexustech101
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b5443349cf4e0d3700ccfa036a4c0ce04dcdc38 -
Trigger Event:
release
-
Statement type:
File details
Details for the file fx_tool-1.2.1-py3-none-any.whl.
File metadata
- Download URL: fx_tool-1.2.1-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f58bee384b62a78ad0521b4aaa8e253b1dd94200dd65e793470074b149ea1f5
|
|
| MD5 |
e1086dfd16347ea02e0523e3187f8463
|
|
| BLAKE2b-256 |
90c47b813d03c18b7c61b04c0a654f520dfce1ef0d5714dde74681d22e5cf15f
|
Provenance
The following attestation bundles were made for fx_tool-1.2.1-py3-none-any.whl:
Publisher:
publish.yml on nexustech101/fx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fx_tool-1.2.1-py3-none-any.whl -
Subject digest:
0f58bee384b62a78ad0521b4aaa8e253b1dd94200dd65e793470074b149ea1f5 - Sigstore transparency entry: 1487463341
- Sigstore integration time:
-
Permalink:
nexustech101/fx@1b5443349cf4e0d3700ccfa036a4c0ce04dcdc38 -
Branch / Tag:
refs/tags/v1.2.1 - Owner: https://github.com/nexustech101
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1b5443349cf4e0d3700ccfa036a4c0ce04dcdc38 -
Trigger Event:
release
-
Statement type: