https://github.com/johndutchover/insight-ai-api
AI insight generator
https://github.com/johndutchover/insight-ai-api
fastapi gitlab-mirror marvinai pydantic-v2
Last synced: 26 days ago
JSON representation
AI insight generator
- Host: GitHub
- URL: https://github.com/johndutchover/insight-ai-api
- Owner: johndutchover
- Created: 2023-10-31T18:25:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-27T16:42:08.000Z (about 2 years ago)
- Last Synced: 2025-01-22T11:17:44.167Z (over 1 year ago)
- Topics: fastapi, gitlab-mirror, marvinai, pydantic-v2
- Language: Python
- Homepage: https://gitlab.com/johndutchover/insight-ai-api
- Size: 247 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# insight-ai-api
[](https://github.com/johndutchover/insight-ai-api/actions/workflows/mega-linter.yml)
## About
This is a simplistic FastAPI app that uses AI features to enhance api service.
### Focus areas
- [FastAPI](https://github.com/tiangolo/fastapi)
- Pydantic
- Data validation
- [Marvin](https://github.com/prefecthq/marvin)
- AI engineering framework
- Pytest
- [pre-commit](https://github.com/pre-commit/pre-commit)
- pre-commit hooks
- GitLab
- for career reasons
[Install pyenv](https://github.com/pyenv/pyenv)
### Initialize for development
From repository root:
1. `python -m venv .venv`
2. `source .venv/bin/activate`
3. `python -m pip install -Ur local.in`
### Dependency management
#### Project files
| File | Purpose |
| ------------------------- | ------------------- |
| `pyproject.toml` | root project file |
| `app/pyproject.toml` | API |
| `frontend/pyproject.toml` | Frontend Pre-Commit |
### GitLab CI
#### Settings
##### CI/CD
##### Variables
- MARVIN_OPENAI_API_KEY
- attributes: masked, expanded
- FLY_API_TOKEN
- attributes: masked, expanded
- GITLAB_ACCESS_TOKEN_MEGALINTER
- attributes: masked
#### .gitlab-ci.yml
- stages
- install
- test
- code_quality
- deploy
- uses `flyctl`
#### .pre-commit-config.yaml
- pre-commit-hooks
- black
- flake8
- `.flake8`
- bandit
- excludes B104 check
- local
- commit-msg
- checkmake
- configured in `.gitlab-ci.yml`
- run by MegaLinter
### Fly
- MARVIN_OPENAI_API_KEY
- uses [fly secrets](https://fly.io/docs/reference/config/#secrets)