DairyBrainUtils est un package PyPI avec quelques fonctionnalités de base pour interagir avec une base de données PostgreSQL.
Pour l'instant, il est hébergé sur TestPyPI. Si la distribution TestPyPI a été nettoyée, veuillez contacter l'auteur pour la télécharger à nouveau.
Pour installer la dernière version du package, utilisez la commande dans PyPI.
Si le lien ci-dessus est rompu, essayez :
pip install DairyBrainUtils
Une fois installé, nous vous recommandons d'importer le package avec import DairyBrainUtils as dbu
.
(Mise à jour : cela a été résolu lors du téléchargement sur le PyPI officiel) Si vous voyez un message d'erreur comme celui-ci :
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
essayez de l'installer une fois de plus. TestPyPI est bizarre.
Une liste des fonctions disponibles pour utilisation est la suivante :
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
Prend credentials
d'un dictionnaire avec les clés : [dialect, user, password, host, port, db_name, log]
et transmet ces informations d'identification dans sqlalchemy.create_engine() pour créer une nouvelle instance de moteur.
dialect
: Chaîne. Un dialecte de base de données. Pour le moment, ce package ne prend en charge que postgresql
.user
: chaîne. Le nom d'utilisateur d'un utilisateur dans la base de données.password
: Chaîne. Le mot de passe associé à l'utilisateur.host
: chaîne. Nom d'hôte.port
: Entier. Numéro de port.db_name
: chaîne. Un nom de base de données.log
: booléen. Si True, le moteur enregistrera toutes les instructions ainsi qu'un repr() de leurs listes de paramètres dans l'enregistreur du moteur, qui est par défaut sys.stdout.check_if_database_exists(db_engine)
Utilisez la fonctionnalité sqlalchemy existante pour vérifier si la base de données existe. Renvoie « Vrai » si la base de données existe, « Faux » sinon
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
Crée une table avec table_name
dans la base de données si une table avec le nom donné n'existe pas.
sql_statement
est une instruction CREATE TABLE
qui spécifie les en-têtes de la table à créer.
create_table(db_engine, table_name, sql_statement)
Crée une table avec table_name dans la base de données.
sql_statement
est une instruction CREATE TABLE
qui spécifie les en-têtes de la table à créer.
create_schema(db_engine, schema_name)
Crée un schéma avec le schema_name
donné dans la base de données spécifiée.
create_sequence(db_engine, sequence_name)
Crée une séquence dans la base de données.
get_next_from_sequence(db_engine, sequence_name)
Renvoie l'identifiant entier suivant dans la séquence donnée (en supposant qu'il en existe un)
populate_table_from_csv(table_name, csv_location, db_engine)
Prend un csv_location
, le chemin d'accès d'un fichier csv et remplit la table avec le table_name
donné (en supposant qu'il en existe un) dans la base de données spécifiée.
execute_statement(statement, db_engine)
Exécute une instruction SQL dans la base de données spécifiée.
drop_table(table_name, db_engine)
Supprime une table avec table_name
dans la base de données spécifiée.
has_table(table_name, db_engine)
Renvoie True
s'il existe une table avec le table_name
donné dans la base de données spécifiée, renvoie False
sinon
Consultez ce didacticiel pour obtenir des conseils sur l'empaquetage d'un projet Python et son téléchargement sur le PyPI (Python Package Index). Ceci est un exemple de projet avec le meilleur format.
Pour publier une nouvelle version du package, modifiez ./DairyBrainUtils/__init__.py
, modifiez le numéro de version dans setup.py
et publiez les archives de distribution en suivant le didacticiel.
Plus précisément, faites :
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
Maintenant, un répertoire dist
doit être créé avec deux fichiers. Si le package doit être hébergé sur un serveur local, prenez simplement le fichier .whl
et utilisez pip
pour installer le package.
Pour télécharger les packages de distribution sur TestPyPI, procédez :
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
Utilisez __token__
lorsque vous êtes invité à saisir le nom d'utilisateur. Pour le mot de passe, utilisez la valeur du jeton, y compris le préfixe pypi-
.