Odyssee API
Provides an unofficial API for the Odyssee platform, allowing users to access and interact with their data programmatically.
Features
- download applications of candidates as zip files
- get information about candidates
- get information about committee members
- get information about institutions
- get keywords
- assign applications to committee members
- download reports from committee members
- provide decision on each candidate after the first round of evaluation
Installation
pip install odysseeapi
odysseeapi uses playwright to automate the login process and retrieve the necessary cookies and bearer token for API calls. You need to install the playwright browsers after installing the package:
playwright install
Minimal example
from odysseeapi.OdysseeCOS import OdysseeCOS
numposte = "123456"
username = "xyz"
password = "abc"
# Initialize the API client with the numposte and use_cache set to True
# setting use_cache to False forces the API client to fetch fresh data from the server for each request, while setting it to True allows the client to use cached data if available
odyssee = OdysseeCOS(numposte, True)
# The following line is used to authenticate the user and obtain the necessary cookies and bearer token for subsequent API calls. It is optional when using the cached data
odyssee.authenticate(username, password)
# if this method does not work, you can use the following method to authenticate using a token obtained from the browser cookies
# First connect on the Odyssee website using Chrome, then open the developer tools (F12), go to the Network tab, and copy the value of the "Authorization" header from any request. Then use this value as the token in the following method.
# token = "your_token_here"
# odyssee.authenticate_using_token(token)
# Download the applications of the candidates in the specified directory
odyssee.download_applications('dossiers_candidats')
candidates = odyssee.get_candidates()
print(candidates)
rapporteurs = odyssee.get_committee_members()
print(rapporteurs)
etablissements = odyssee.get_institutions()
print(etablissements)
keywords = odyssee.get_keywords()
print(keywords)
candidates_with_details = odyssee.get_candidates_with_details()
print(candidates_with_details)
# odyssee.assign_jury_members_to_candidate("f1e2d3c4-b5a6-4789-9876-543210fedcba", "123456", "78910")
# Download the reports of the committee members for the candidates in the specified directory
# odyssee.downloadReports("rapportsOdyssee")
# At the end of the first jury meeting, record the opinion for each candidate and the results of the vote
# odyssee.opinion_for_interview("f1e2d3c4-b5a6-4789-9876-543210fedcba", "A", "Motif audition", 16, 16, 0, 0, 16, 0)
Metadata
Release files for odysseeapi 1.1.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 | |
|---|---|---|---|
| odysseeapi-1.1.0.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| odysseeapi-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / odysseeapi-1.1.0.tar.gz
| Download URL | odysseeapi-1.1.0.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ec0938bfc9854d6322af60cda5f6faed09eadecef04f7fc3a5e8e8a6be864cc
|
|
BLAKE2b-256 checksum How to use checksums |
23860ae9a11d2da408a92c719beaaf4f298a8740f85c47e693bad1dcd042a6a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / odysseeapi-1.1.0-py3-none-any.whl
| Download URL | odysseeapi-1.1.0-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
92ba5593aec5ca0238570301bea08066e69e5e3d095e02311b315af53dac8588
|
|
BLAKE2b-256 checksum How to use checksums |
fcca0572c4e8eb46710a26da8b5a5888d17f8e6cefe9113af717e8fa2e1448b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|