Neo4j-backed FastAPI app with React frontend for IT inventory graph management.
Project description
faik-inventory
Neo4j-backed FastAPI app with a React frontend for managing an IT inventory graph.
Requirements
- Python 3.14
- Node.js 22+
- A reachable Neo4j instance
Environment
Set these as needed before starting the app:
export NEO4J_URI="bolt://127.0.0.1:7687"
export NEO4J_USER="neo4j"
export NEO4J_PASSWORD="your-password"
export NEO4J_DATABASE="neo4j"
Install
Install backend dependencies:
pip install -r requirements.txt
Install frontend dependencies:
npm install
Configure git to use project hooks:
git config core.hooksPath .githooks
This enables pre-commit checks that prevent committing Neo4j database files and ensure tests pass.
Build Python Wheel
Build an installable wheel for this app:
./scripts/sync_package_assets.sh
python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-dev.txt
python -m build --wheel
Install and run from wheel:
pip install dist/faik_inventory-*.whl
faik-inventory --host 0.0.0.0 --port 8000
Run with managed local Neo4j (data stored in your user directory):
faik-inventory --managed-neo4j --host 0.0.0.0 --port 8000
By default managed Neo4j stores runtime files under:
~/.local/share/faik-inventory/neo4j/
Override managed paths and ports if needed:
faik-inventory \
--managed-neo4j \
--managed-neo4j-home /opt/neo4j \
--managed-neo4j-dir ~/.local/share/faik-inventory \
--managed-neo4j-bolt-port 7687 \
--managed-neo4j-http-port 7474
Run The Latest Version
Build the React frontend:
npm run build
Start the FastAPI app:
uvicorn app:app --reload
Open:
http://127.0.0.1:8000
Frontend Development
If you change files under src/, rebuild before refreshing the FastAPI app:
npm run build
The backend serves the built frontend from static/app/.
Notes
- The
/route serves the built React app, not the old Jinja page. - If the frontend build is missing, the app returns a message telling you to run
npm installandnpm run build.
Test string
Pipeline trigger check: deploy key added on 2026-03-05.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 faik_inventory-1.0.7-py3-none-any.whl.
File metadata
- Download URL: faik_inventory-1.0.7-py3-none-any.whl
- Upload date:
- Size: 255.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7cbbe5b56e3d516d578dc7fd55c2f3ec563c8c5737cd93b5b4d76955aae7ad9
|
|
| MD5 |
1da374c33fa714476432dcaec077a5da
|
|
| BLAKE2b-256 |
de395bbabf8102d36de8ded5f810cc8b7b50cca9fcae3d82152bca579c3847e2
|