Skip to main content

API-wrapper pour récupérer des données liées à Nation

Project description

NSArchive v3

Pré-requis

  • Python 3.10 ou + (Python 3.13 si possible)
  • Un serveur avec nation.db
  • Deux barres de Twix ou une tasse de thé

Avant de démarrer

Dans la documentation, vous croiserez souvent des noms de classes comme .User ou autres similaires. Le «.» devant le nom de la classe signfie qu'elle appartient au module NSAv3, et qu'il faut donc les interprêter comme nsarchive.User. La seule exception est NSID qui ne sera pas précédé d'un point mais devra être interprêté de la même manière.

Installation

L'installation de NSAv3 se fait via pip:

pip install nsarchive

La dernière version de nsarchive devrait s'installer. Les dépendances requises pour nsarchive sont pillow et requests mais celles-ci devraient s'installer en même temps que le module. Vous pourriez également avoir besoin des modules bcrypt et python-dotenv, ceux-ci devront être installés manuellement.

Bonus: Environnement virtuel

Il est recommandé mais non obligatoire d'avoir un environnement virtuel (venv) pour votre projet. Sa création se fait comme ceci:

python -m venv .venv

N'oubliez pas de l'activer via cette commande pour powershell...

.venv\Scripts\Activate

...ou cette commande pour les terminaux type UNIX (Bash par exemple)

source .venv/Scripts/Activate

Prise en main

Identifier les objets

Les objets sont tous identifiables sur NSAv3. Ils ont un identifiant commun appelé NSID (from nsarchive import NSID). Cet identifiant n'est rien de plus qu'un nombre hexadécimal. Il peut être utilisé comme un string, dans un print ou un f-string par exemple. Cet identifiant est communément basé sur plusieurs valeurs fixes ou universelles, dont les deux plus fréquentes sont:

  • L'ID Discord de l'objet concerné, dans le cas d'un utilisateur par exemple
  • Le timestamp (secondes depuis 1970) du moment où il a été créé, dans le cas de la plupart des autres objets

Interfaces

Le module nsarchive est divisé en 4 interfaces:

  • Entités (membres, groupes, positions)
  • Économie (comptes en banque, dettes)
  • Justice (signalements, procès, sanctions)
  • État (votes, élections)

Les interfaces État et Justice peuvent être confondues et désignées comme République, comme c'était le cas dans les versions précédentes.

Les interfaces ont toutes quatre rôles en commun:

  • Vous authentifier
  • Récupérer des objets
  • Créer des objets
  • Supprimer des objets (Entités uniquement)

Une documentation plus détaillée est disponible ici.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsa_fusion-1.0.0a1.tar.gz (85.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nsa_fusion-1.0.0a1-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

File details

Details for the file nsa_fusion-1.0.0a1.tar.gz.

File metadata

  • Download URL: nsa_fusion-1.0.0a1.tar.gz
  • Upload date:
  • Size: 85.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for nsa_fusion-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 80d06ba9224c34c5cb3290795f7b327078489f4097957d8b7027ef47ace6175b
MD5 ca5f5912ebe84837ddeba620d87f130b
BLAKE2b-256 4127f6e162d1635c5d6b7321b748da115d89bb1800d79cb9026158500bde7683

See more details on using hashes here.

File details

Details for the file nsa_fusion-1.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: nsa_fusion-1.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 89.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for nsa_fusion-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 95b08fac0ba94985418b8d23766f9001b2ec89f932798dcf9e7d4aa0ce3205c5
MD5 54947c3aa2c29e69073fd40926eb8db4
BLAKE2b-256 73953e9a80cf008c5bda5f38d49a033c3bc7951692a2dd5bea5df58a19295939

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page