Skip to main content

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 install and npm run build.

Test string

Pipeline trigger check: deploy key added on 2026-03-05.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

faik_inventory-1.0.7-py3-none-any.whl (255.5 kB view details)

Uploaded Python 3

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

Hashes for faik_inventory-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c7cbbe5b56e3d516d578dc7fd55c2f3ec563c8c5737cd93b5b4d76955aae7ad9
MD5 1da374c33fa714476432dcaec077a5da
BLAKE2b-256 de395bbabf8102d36de8ded5f810cc8b7b50cca9fcae3d82152bca579c3847e2

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