
Research
PyPI Package Disguised as Instagram Growth Tool Harvests User Credentials
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
🚀 Async database support for Python. 🚀
Documentation: https://databasez.dymmond.com 📚
Source Code: https://github.com/dymmond/databasez
There is a great package from Encode that was doing what this package was forked to do.
From a need to extend to new drivers and newest technologies and adding extra features common and useful to the many, Databases was forked to become Databasez.
This package is 100% backwards compatible with Databases from Encode and will remain like this for the time being but adding extra features and regular updates as well as continuing to be community driven.
By the time this project was created, Databases was yet to merge possible SQLAlchemy 2.0 changes from the author of this package and therefore, this package aims to unblock a lot of the projects out there that want SQLAlchemy 2.0 with the best of databases with new features.
A lot of packages depends of Databases and this was the main reason for the fork of Databasez.
It allows you to make queries using the powerful SQLAlchemy Core expression language, and provides support for PostgreSQL, MySQL, SQLite and MSSQL.
Databasez is suitable for integrating against any async Web framework, such as Esmerald, Starlette, Sanic, Responder, Quart, aiohttp, Tornado, or FastAPI.
Databasez was built for Python 3.9+ and on the top of the newest SQLAlchemy 2 and gives you simple asyncio support for a range of databases.
This package couldn't exist without Databases and the continuous work done by the amazing team behind it. For that reason, thank you!
$ pip install databasez
If you are interested in using the test client, you can also install:
$ pip install databasez[testing]
Databasez currently supports nearly all async drivers of sqlalchemy.
If this is not enough there are two special dialects with restricted features:
You can install the required database drivers with:
$ pip install databasez[asyncpg]
$ pip install databasez[aiomysql]
or
$ pip install databasez[asyncmy]
$ pip install databasez[aiosqlite]
$ pip install databasez[aioodbc]
!!! Note
Note that if you are using any synchronous SQLAlchemy functions such as engine.create_all()
or alembic migrations then you still have to install a synchronous DB driver:
psycopg for PostgreSQL, pymysql for MySQL and
pyodbc for SQL Server.
For a simple quickstart example, we will be creating a simple SQLite database to run some queries against.
First, install the required drivers for SQLite
and ipython
. The ipython
is to have an
interactive python shell with some extras. IPython also supports await
, which is exactly
what we need. See more details about it.
Install the required drivers
$ pip install databasez[aiosqlite]
$ pip install ipython
Now from the console, we can run a simple example.
# Create a database instance, and connect to it.
from databasez import Database
database = Database("sqlite+aiosqlite:///example.db")
await database.connect()
# Create a table.
query = """CREATE TABLE HighScores (id INTEGER PRIMARY KEY, name VARCHAR(100), score INTEGER)"""
await database.execute(query=query)
# Insert some data.
query = "INSERT INTO HighScores(name, score) VALUES (:name, :score)"
values = [
{"name": "Daisy", "score": 92},
{"name": "Neil", "score": 87},
{"name": "Carol", "score": 43},
]
await database.execute_many(query=query, values=values)
# Run a database query.
query = "SELECT * FROM HighScores"
rows = await database.fetch_all(query=query)
print("High Scores:", rows)
Check out the documentation on making database queries for examples of how to start using databasez together with SQLAlchemy core expressions.
FAQs
Async database support for Python.
We found that databasez demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.
Product
Socket now supports pylock.toml, enabling secure, reproducible Python builds with advanced scanning and full alignment with PEP 751's new standard.
Security News
Research
Socket uncovered two npm packages that register hidden HTTP endpoints to delete all files on command.