SINTEF Digital Twin Framework
Project description
Run backend using Docker Compose
To start the backend run (add the --build flag to build images before starting containers (build from scratch)):
docker-compose up
docker-compose up --build
This will build the GraphDB docker image and the FastAPI docker image.
The GraphDB instance will be available at: localhost:7200
The FastAPI documentation will be exposed at: http://0.0.0.0:9017
Run backend locally
Desription of how to start the backend locally outside docker. The backend consists of a GraphDB database and a FastAPI server.
GraphDB
To start GraphDB, run these scripts from the GraphDB folder:
bash graphdb_install.sh
bash graphdb_preload.sh
bash graphdb_start.sh
To test your graphbd connection run from your base folder (/sindit):
poetry run python run_test.py
Go to localhost:7200 to configure graphdb
API uvicorn server
To start the FastAPI server, run:
poetry run python run_sindit.py
Run using vscode launcher
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${workspaceFolder}/src/sindit",
"env": {
"PYTHONPATH": "${workspaceFolder}/src"
},
"justMyCode": false
}
]
}
Using the API
Authentication
The API requires a valid authentication token for most endpoints. Follow these steps to authenticate and use the API:
-
Generate a Token:
- Use the
/tokenendpoint to generate an access token. - Example
curlcommand:curl -X POST "http://127.0.0.1:9017/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=new_user&password=new_password"
- Replace
new_userandnew_passwordwith the credentials provided below.
- Use the
-
Use the Token:
- Include the token in the
Authorizationheader for all subsequent API calls:curl -X GET "http://127.0.0.1:9017/endpoint" \ -H "Authorization: Bearer your_generated_token_here"
- Include the token in the
-
Access API Documentation:
- The FastAPI documentation is available at:
http://127.0.0.1:9017/docs
- The FastAPI documentation is available at:
Generate New Username and Password
To add a new user, update the fake_users_db in authentication_endpoints.py with the following credentials:
fake_users_db = {
"new_user": {
"username": "new_user",
"full_name": "New User",
"email": "new_user@example.com",
"hashed_password": "$2b$12$eW5j9GdY3.EciS3oKQxJjOyIpoUNiFZxrON4SXt3wVrgSbE1gDMba", # Password: new_password
"disabled": False,
}
}
To generate a new hashed password, use the Python snippet in password_hash.py.
Replace "new_password" with your desired password.
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
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 sindit-2.0.9.tar.gz.
File metadata
- Download URL: sindit-2.0.9.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31a29e46d59e768ef38470988654348031a4cc204951ef78f7d0a2816e258676
|
|
| MD5 |
afbd06cd2c758ad11c8fc9bf829479fc
|
|
| BLAKE2b-256 |
4308179ec757cfe92cc21b9f57b25c12fc278796060b67ba3ed9e33e82cec73e
|
File details
Details for the file sindit-2.0.9-py3-none-any.whl.
File metadata
- Download URL: sindit-2.0.9-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eea30b41a471928d7088ddc56a8e2681eebecf3b0cf7ad0679a2f41cc6c49c32
|
|
| MD5 |
643f65e82368aa39e34b8215617f1b9f
|
|
| BLAKE2b-256 |
d3f66a44b584319692696eabe518f4862d5ec9285081cf8390574c9c2cdce9b0
|