Effortless


NameEffortless JSON
Version 1.3.1 PyPI version JSON
download
home_pagehttps://bboonstra.dev/effortless/
SummaryDatabases should be Effortless.
upload_time2024-11-28 08:52:14
maintainerNone
docs_urlNone
authorBen Boonstra
requires_python>=3.9
licenseMIT
keywords database effortless simple storage beginner easy db
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.38280s