Open-source tool for exploring, labeling, and monitoring data for NLP projects.
Project description
Argilla-Server
The repository for the Python native FastAPI server for Argilla backend.
Argilla is a collaboration platform for AI engineers and domain experts that require high-quality outputs, full data ownership, and overall efficiency.
This repository only contains developer info about the backend server. If you want to get started, we recommend taking a look at our main repository or our documentation.
Are you a contributor or do you want to understand what is going on under the hood, please keep reading the documentation below.
Source code folder structure
The following is a high-level overview of relevant folders and files in the argilla-server source code:
/argilla_server
/api # Including all the API endpoints and related code
/errors # Custom exceptions and error handlers
/v1
/handlers # Request FastAPI handlers
/v1
/policies # Authorization policies for resources
/v1
/schemas # Pydantic schemas for request and response bodies
/v1
/contexts # Domain contexts for the application including business logic
accounts.py
datasets.py
search.py
...
/models # SQLAlchemy ORM models for the database
database.py
Folders inside /api
are organized by API version, having right now only v1 implemented. This is in contrast to /contexts
and /models
folders that are not versioned. This is because the business logic and canonical database models are not exposed directly to the API, and therefore are not subject to versioning.
Development environment
By default all commands executed with pdm run
will get environment variables from .env.dev
except command pdm test
that will overwrite some of them using values coming from .env.test
file.
These environment variables can be override if necessary so feel free to defined your own ones locally.
Run cli
pdm cli
Run database migrations
By default a SQLite located at ~/.argilla/argilla.db
will be used. You can create the database and run migrations with
the following custom PDM command:
pdm migrate
Run tests
A SQLite database located at ~/.argilla/argilla-test.db
will be automatically created to run tests. You can run the
entire test suite using the following custom PDM command:
pdm test
Run development server
Note: If you need to run the frontend server you can follow the instructions at the argilla-frontend project
Run uvicorn development server
pdm server
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 Distribution
Built Distribution
File details
Details for the file argilla_server-2.0.0a0.tar.gz
.
File metadata
- Download URL: argilla_server-2.0.0a0.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.15.4 CPython/3.10.12 Linux/6.5.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dc8889dd1638d1ca02b2a3d4b0bb20953bffdb4edfa8eb2e87f96681622dcb6 |
|
MD5 | cd24afbd6d3a4a70e433c84789787273 |
|
BLAKE2b-256 | c1fa6d8f70526cf8407de675aa304828ad6d43bc134f99914b8f973aa8bcbe3e |
File details
Details for the file argilla_server-2.0.0a0-py3-none-any.whl
.
File metadata
- Download URL: argilla_server-2.0.0a0-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.15.4 CPython/3.10.12 Linux/6.5.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c21e4b6a9dcd6707182e4dc1b188c3335eff063fd0391b5829cf95e3c1a917b7 |
|
MD5 | c5bf80f508723f0b14423c08dc5fead5 |
|
BLAKE2b-256 | ac0d4c13dd130c1659f255b8bbdb92b2233fb2f7c588bbe3d62c25c4a5cd575a |