DairyBrainUtils 是一个 PyPI 包,具有一些与 PostgreSQL 数据库交互的基本功能。
目前,它托管在 TestPyPI 上。如果TestPyPI发行版被清理,请联系作者重新上传。
要安装最新版本的软件包,请使用 PyPI 中的命令。
如果上述链接已损坏,请尝试:
pip install DairyBrainUtils
安装后,我们建议您使用import DairyBrainUtils as dbu
导入包。
(更新:当我们上传到官方 PyPI 时,此问题已解决)如果您看到如下错误消息:
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
尝试再安装一次。 TestPyPI 很奇怪。
可用的函数列表如下:
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)
接受带有键的字典credentials
: [dialect, user, password, host, port, db_name, log]
,并将这些凭据传递到 sqlalchemy.create_engine() 以创建新的引擎实例。
dialect
:字符串。一种数据库方言。目前该软件包仅支持postgresql
。user
:字符串。数据库中用户的用户名。password
:字符串。与用户关联的密码。host
:字符串。主机名。port
:整数。端口号。db_name
:字符串。数据库名称。log
:布尔值。如果为 True,引擎会将所有语句及其参数列表的 repr() 记录到引擎记录器中,默认为 sys.stdout。check_if_database_exists(db_engine)
使用现有的 sqlalchemy 功能检查数据库是否存在。如果数据库存在则返回“True”,否则返回“False”
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
如果具有给定名称的表不存在,则在数据库中创建一个具有table_name
的表。
sql_statement
是一个CREATE TABLE
语句,它指定要创建的表的表头。
create_table(db_engine, table_name, sql_statement)
在数据库中创建一个名为 table_name 的表。
sql_statement
是一个CREATE TABLE
语句,它指定要创建的表的表头。
create_schema(db_engine, schema_name)
在指定数据库中创建具有给定schema_name
的架构。
create_sequence(db_engine, sequence_name)
在数据库中创建序列。
get_next_from_sequence(db_engine, sequence_name)
返回给定序列中的下一个整数 id(假设存在)
populate_table_from_csv(table_name, csv_location, db_engine)
接受csv_location
,即 csv 文件的文件路径,并使用指定数据库中给定的table_name
(假设存在)填充表。
execute_statement(statement, db_engine)
在指定的数据库中执行SQL语句。
drop_table(table_name, db_engine)
删除指定数据库中具有table_name
的表。
has_table(table_name, db_engine)
如果指定数据库中存在具有给定table_name
的表,则返回True
,否则返回False
请参阅本教程,了解有关打包 Python 项目并将其上传到 PyPI(Python 包索引)的指南。这是一个具有最佳格式的示例项目。
要发布包的新版本,请编辑./DairyBrainUtils/__init__.py
,更改setup.py
中的版本号,然后按照教程发布分发档案。
更具体地说,执行以下操作:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
现在,应该创建一个包含两个文件的dist
目录。如果要将包托管在本地服务器上,只需获取.whl
文件并使用pip
来安装包。
要将分发包上传到 TestPyPI,请执行以下操作:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
当提示输入用户名时使用__token__
。对于密码,请使用令牌值,包括pypi-
前缀。