SPAR Self Service API
This page provides comprehensive documentation for the installation of SPAR Self Service API, a service designed for data mapping within the Social Payments Account and Registry (SPAR) system.
Installation
Prerequisites
Any machine running Linux (e.g., Ubuntu), macOS, or Windows
Python3.10 or later
Git
PostgreSQL
virtualenv
eSignet: Ensure that eSignet is properly configured. Refer to the eSignet Deployment Guide for setup instructions.
SPAR Mapper API Configuration: Ensure that the SPAR Mapper API is properly configured according to the SPAR Mapper API Installation.
Python dependencies
The following dependencies are managed in the installation steps below.
annotated-types==0.6.0
anyio==3.7.1
asyncio==3.4.3
asyncpg==0.28.0
certifi==2024.2.2
cffi==1.16.0
click==8.1.7
coverage==7.5.1
cryptography==41.0.7
ecdsa==0.19.0
fastapi==0.103.2
greenlet==3.0.3
h11==0.14.0
hiredis==2.2.3
httpcore==1.0.5
httptools==0.6.1
httpx==0.27.0
idna==3.7
iniconfig==2.0.0
Jinja2==3.1.4
json-logging==1.3.0
MarkupSafe==2.1.5
openg2p-fastapi-auth==1.0.0
openg2p-g2pconnect-common-lib==1.0.0
openg2p-g2pconnect-mapper-lib==1.0.0
openg2p-spar-g2pconnect-mapper-connector-lib==1.0.0
openg2p-spar-mapper-interface-lib==1.0.0
-e git+https://github.com/OpenG2P/openg2p-spar-self-service@8e33f41ca0b2447860e8e8e8f901cc3afcc5707c#egg=openg2p_spar_self_service_api&subdirectory=openg2p-spar-self-service-api
openg2p_fastapi_common==1.0.0
orjson==3.9.15
packaging==24.0
parse==1.20.1
pluggy==1.5.0
psycopg2==2.9.9
pyasn1==0.6.0
pycparser==2.22
pydantic==2.7.1
pydantic-extra-types==2.0.0
pydantic-settings==2.0.3
pydantic_core==2.18.2
pytest==8.2.0
pytest-asyncio==0.23.6
pytest-cov==5.0.0
python-dotenv==1.0.1
python-jose==3.3.0
python-multipart==0.0.9
PyYAML==6.0.1
redis==5.0.4
rsa==4.9
six==1.16.0
sniffio==1.3.1
SQLAlchemy==2.0.30
starlette==0.27.0
typing_extensions==4.11.0
uvicorn==0.29.0
uvloop==0.19.0
watchfiles==0.21.0
websockets==12.0Steps to install
Install from source
Install dependencies
Clone the repository.
Navigate to the project root.
Create a virtual environment with Python 3.
Activate the virtual environment.
Install the necessary dependencies.
Create a '.env' file and configure database credentials
Set the following environment variables to configure the spar-mapper-api.
Database setup (skip this step if database is already setup)
Run migrations to set up the database.
Seeding the database (optional)
This will seed the database with default values.
The following optional Env vars can also be passed.
Authentication
The spar-self-service-api supports authentication via eSignet. Refer to the deployment documentation for eSignet here for setup instructions.
Setting up redirection
To integrate the SPAR Self-Service UI with any login provider, you need to add the redirect_uri in the authorization_parameter column.
This URL needs to be updated in the
login_providerstable, specifically in theauthorization_parameterscolumn for the eSignet record.Make sure to replace
selfservice.qa.openg2p.netwith the appropriate domain that matches your eSignet configuration.
Quick start
Start the development server.
Access Swagger API Documentation.
Testing
Run the unit tests with pytest.
Contributing
Contribution guidelines are available here.
Last updated
Was this helpful?

