Srcly Server
A FastAPI server for static code analysis using lizard.
Features
- Static Analysis: Scans the codebase for cyclomatic complexity and LOC (Lines of Code).
- Caching: Caches analysis results in the user cache directory (see the main README) and reuses them until files change.
- File Serving: Provides an API to read raw file contents (absolute paths).
- API Documentation: Auto-generated Swagger UI at
/docs.
Setup
This project is managed with uv.
-
Install dependencies:
uv sync
Running the Server
Start the server with hot-reloading:
uv run uvicorn app.main:app --reload
The API will be available at http://localhost:8000.
API Endpoints
Analysis
GET /api/analysis: Get the analysis tree. Scans unless an unchanged cached analysis exists.POST /api/analysis/refresh: Force a new scan and replace the cached analysis.
Files
GET /api/files/content?path=/absolute/path/to/file: Get raw file content.
Client Generation
You can generate a client SDK (TypeScript, Python, etc.) using the OpenAPI schema available at http://localhost:8000/openapi.json.
Example using openapi-generator-cli:
npx @openapitools/openapi-generator-cli generate -i http://localhost:8000/openapi.json -g typescript-axios -o ../client/src/api
Metadata
Release files for srcly 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| srcly-1.4.0.tar.gz | 1.3 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| srcly-1.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / srcly-1.4.0.tar.gz
| Download URL | srcly-1.4.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e53de20fbac18b4d7bb5aa8dd48296dbfdf3efabc1b0fc9957643d13dc0e4494
|
|
BLAKE2b-256 checksum How to use checksums |
069f164beb4b5f72db38823bee8035da9c042211aa5623d1dbfb873c964b3217
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / srcly-1.4.0-py3-none-any.whl
| Download URL | srcly-1.4.0-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16ce30dc6bcd559d35768eb4aaaad5308cacfd414bb4526ff495c240864bef12
|
|
BLAKE2b-256 checksum How to use checksums |
64df55c6908cff3cdc8fbdcde82fc50ecccc6cb9faec928aed8dd2795b6aba1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for srcly 1.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.