Skip to main content

la black luna

Estoult

PyPI PyPI - License PyPI - Python Version Documentation Status

Estoult (pronounced es-too) is a Python toolkit for data mapping with an integrated query builder for SQL databases. It currently supports MySQL, PostgreSQL, and SQLite.

Features:

  • Not an ORM. Estoult doesn't attempt to apply relational algebra to objects.
  • Concise and composable (sub)queries.
  • Easy debugging by displaying any generated SQL in a readable format.
  • Fast. Estoult is NOT an ORM.

Estoult only works with Python 3.9+.

Installation

Install Estoult through pip:

pip install estoult

# or with a specific database driver (postgres or mysql)
pip install estoult[postgres]

Quick Example

from estoult import Schema, Field, Query, SQLiteDatabase

db = SQLiteDatabase("example.db")

class User(db.Schema):
    __tablename__ = "User"
    id = Field(int, primary_key=True)
    name = Field(str)
    age = Field(int)

# Insert a user
user = User.insert({"name": "Artoria", "age": 35})

# Query users
users = (
    Query(User)
    .select()
    .where(User.age > 21)
    .execute()
)

# Update user
User.update({"id": user["id"]}, {"age": 36})

Documentation

Check the documentation for help and getting started.

Contributing

If you have found a bug or would like to see a feature added to Estoult, please submit an issue or a pull request! Likewise if you found something in the documentation unclear or imprecise.

Tests

Tests are run with pytest. Install it using pip:

pip install pytest

Run tests from the shell:

pytest

License

Estoult is licensed under the MIT license (see LICENSE file).

Metadata

Release files for estoult 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for estoult 0.8.0
File Size Uploaded
estoult-0.8.0.tar.gz 20.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for estoult 0.8.0
File Interpreter ABI Platform
estoult-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.8 kB

Release files / estoult-0.8.0.tar.gz

Download URL estoult-0.8.0.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
48865a8f4d65a768af70ebabab9ffe0a63e893b57d87fd23ebca12766e4c77d7
BLAKE2b-256 checksum
How to use checksums
1a671e2d07b779d43be7aea1e1d93fbfa86529f037858a3c5716ddfeeb6ddca1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.3

Release files / estoult-0.8.0-py3-none-any.whl

Download URL estoult-0.8.0-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5afcb8dfc8d08eb49affdcd46731b0479900318ece3d8d98834f03f4ce82013b
BLAKE2b-256 checksum
How to use checksums
04f0c0b027aa36dd8dbc6ce53bbf5c902290c0b4854139ba91346e9b91f4e05a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.3

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.10

2 release files

0.7.9

2 release files

0.7.8

1 release file

0.7.7

2 release files

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

2 release files

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page