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.0a2.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.0a2-py3-none-any.whl (89.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nsa_fusion-1.0.0a2.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.0a2.tar.gz
Algorithm Hash digest
SHA256 b12395936a803b365d1b04eb8dfaca62896bcc806b04393893b3692d8c254c54
MD5 1befd808747641127cd11111fe41ffc0
BLAKE2b-256 3dcdb51aef908829a04155980654bd2d218d03ef4bd59f35d5044ad6872a31d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nsa_fusion-1.0.0a2-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.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 051f949ab11ec4d03e43642b324f22d0985fcac0a4cfa5c5c23dde598df37688
MD5 9c850615a6061df03b825e08015bb174
BLAKE2b-256 48a61254d9b3f7fca9c9834da4ac3c044d38bb491b2460a6bf29f6cd8ba20c90

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