# Databases should be [_Effortless_](https://bboonstra.dev/effortless/).
[![Publish Package](https://github.com/bboonstra/Effortless/actions/workflows/publish.yml/badge.svg?branch=main)](https://github.com/bboonstra/Effortless/actions/workflows/publish.yml)
[![Run Tests](https://github.com/bboonstra/Effortless/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/bboonstra/Effortless/actions/workflows/test.yml)
Effortless has one objective: be the easiest database.
It's perfect for beginners, but effortless for anyone.
## Quickstart
You can install Effortless easily, if you have
[pip](https://pip.pypa.io/en/stable/installation/) and
[Python 3.9 or higher](https://www.python.org/downloads/) installed.
```bash
pip install effortless
```
Check the [quickstart](https://bboonstra.github.io/Effortless/docs/quickstart.html) for more details.
## Usage
We offer 3 tiers of effort when using our databases. If this is your first time
using a database, try out the [Effortless](https://bboonstra.github.io/Effortless/docs/effortless-usage.html) usage below.
If you are working on a simple project, you should take a look at the
[Basic](https://bboonstra.github.io/Effortless/docs/basic-usage.html) usage docs.
Overachievers may want to try our [Advanced](https://bboonstra.github.io/Effortless/docs/advanced-usage.html) features.
## Why Effortless?
If you're actually reading this section, it seems like you don't care about the whole "effortless" part. If you did, you'd already have your own million-dollar startup with one of our databases by now. So, here's some other reasons Effortless stands out:
### 🛡️ Safety First
All your data is safe, lossless, and locally stored by default. You can begin persistent, automatic backups, keyed database encryption, and more with a couple lines of Python.
```py
new_configuration = EffortlessConfig()
new_configuration.backup = "/path/to/backup"
db.configure(new_configuration)
```
All your data is now automatically backed up to the specified path until you edit the configuration again.
### 🔍 Powerful Querying
Effortless introduces a unique and intuitive object-oriented filter system. You can create a reusable Field condition with logical operators to find anything from your database.
```python
is_bboonstra = Field("username").equals("bboonstra")
is_experienced = Query(lambda entry: len(entry["known_programming_languages"]) > 5)
GOATs = db.filter(is_bboonstra | is_experienced)
```
You've just filtered a thousand users into a couple with complex conditioning, and it was effortless.
### 🎓 Perfect for Learning
Whether you're a beginner or an experienced developer, Effortless provides a gentle learning curve without sacrificing power, making it an ideal choice for educational environments and rapid prototyping.
This project isn't a database; it's a philosophy: data management should be simple, powerful, and... _Effortless_.
Raw data
{
"_id": null,
"home_page": "https://bboonstra.dev/effortless/",
"name": "Effortless",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "database, effortless, simple storage, beginner, easy, db",
"author": "Ben Boonstra",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/16/10/e6e2af4dde215605e6c46823b809d5021a0c0c6f2b6cc9483b62e3d11e82/effortless-1.3.1.tar.gz",
"platform": null,
"description": "# Databases should be [_Effortless_](https://bboonstra.dev/effortless/).\n\n[![Publish Package](https://github.com/bboonstra/Effortless/actions/workflows/publish.yml/badge.svg?branch=main)](https://github.com/bboonstra/Effortless/actions/workflows/publish.yml)\n[![Run Tests](https://github.com/bboonstra/Effortless/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/bboonstra/Effortless/actions/workflows/test.yml)\n\nEffortless has one objective: be the easiest database.\nIt's perfect for beginners, but effortless for anyone.\n\n## Quickstart\n\nYou can install Effortless easily, if you have\n[pip](https://pip.pypa.io/en/stable/installation/) and\n[Python 3.9 or higher](https://www.python.org/downloads/) installed.\n\n```bash\npip install effortless\n```\n\nCheck the [quickstart](https://bboonstra.github.io/Effortless/docs/quickstart.html) for more details.\n\n## Usage\n\nWe offer 3 tiers of effort when using our databases. If this is your first time\nusing a database, try out the [Effortless](https://bboonstra.github.io/Effortless/docs/effortless-usage.html) usage below.\nIf you are working on a simple project, you should take a look at the\n[Basic](https://bboonstra.github.io/Effortless/docs/basic-usage.html) usage docs.\nOverachievers may want to try our [Advanced](https://bboonstra.github.io/Effortless/docs/advanced-usage.html) features.\n\n## Why Effortless?\n\nIf you're actually reading this section, it seems like you don't care about the whole \"effortless\" part. If you did, you'd already have your own million-dollar startup with one of our databases by now. So, here's some other reasons Effortless stands out:\n\n### \ud83d\udee1\ufe0f Safety First\n\nAll your data is safe, lossless, and locally stored by default. You can begin persistent, automatic backups, keyed database encryption, and more with a couple lines of Python.\n\n```py\nnew_configuration = EffortlessConfig()\nnew_configuration.backup = \"/path/to/backup\"\ndb.configure(new_configuration)\n```\n\nAll your data is now automatically backed up to the specified path until you edit the configuration again.\n\n### \ud83d\udd0d Powerful Querying\n\nEffortless introduces a unique and intuitive object-oriented filter system. You can create a reusable Field condition with logical operators to find anything from your database.\n\n```python\nis_bboonstra = Field(\"username\").equals(\"bboonstra\")\nis_experienced = Query(lambda entry: len(entry[\"known_programming_languages\"]) > 5)\nGOATs = db.filter(is_bboonstra | is_experienced)\n```\n\nYou've just filtered a thousand users into a couple with complex conditioning, and it was effortless.\n\n### \ud83c\udf93 Perfect for Learning\n\nWhether you're a beginner or an experienced developer, Effortless provides a gentle learning curve without sacrificing power, making it an ideal choice for educational environments and rapid prototyping.\n\nThis project isn't a database; it's a philosophy: data management should be simple, powerful, and... _Effortless_.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Databases should be Effortless.",
"version": "1.3.1",
"project_urls": {
"Bug Tracker": "https://github.com/bboonstra/Effortless/issues",
"Documentation": "https://bboonstra.dev/effortless/",
"Homepage": "https://bboonstra.dev/effortless/",
"Source Code": "https://github.com/bboonstra/Effortless"
},
"split_keywords": [
"database",
" effortless",
" simple storage",
" beginner",
" easy",
" db"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1f02cbc9088b9c8dd2e90eaebc2447b72485b3e9685aaa1c89fb95e0285f7482",
"md5": "99f66f85a092f9abe04c4dddfc32daac",
"sha256": "4fa0bbbf8bad118d0aa1d8e82b734547c76fc6158ea714ee0c5a990972b46795"
},
"downloads": -1,
"filename": "Effortless-1.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "99f66f85a092f9abe04c4dddfc32daac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 32972,
"upload_time": "2024-11-28T08:52:13",
"upload_time_iso_8601": "2024-11-28T08:52:13.134283Z",
"url": "https://files.pythonhosted.org/packages/1f/02/cbc9088b9c8dd2e90eaebc2447b72485b3e9685aaa1c89fb95e0285f7482/Effortless-1.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1610e6e2af4dde215605e6c46823b809d5021a0c0c6f2b6cc9483b62e3d11e82",
"md5": "ef3009e7ae83259816315ad56fa92119",
"sha256": "88d322a09dd28a67231606ec1c92c4e746ca754fee1a028973e0e45234ab960c"
},
"downloads": -1,
"filename": "effortless-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "ef3009e7ae83259816315ad56fa92119",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 27507,
"upload_time": "2024-11-28T08:52:14",
"upload_time_iso_8601": "2024-11-28T08:52:14.696829Z",
"url": "https://files.pythonhosted.org/packages/16/10/e6e2af4dde215605e6c46823b809d5021a0c0c6f2b6cc9483b62e3d11e82/effortless-1.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-28 08:52:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bboonstra",
"github_project": "Effortless",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "effortless"
}