{ "info": { "author": "Marc-Aurele Coste", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Sqla-filters-yaml\n\nAdd yaml parser to the sqla-filters package.\n\n## Introduction \n\nAdd YAML support to sqla-filters.\n\n\n## Requirements\n\nThis package use the python package `pyyaml`. To install pyyaml you need to have the **yaml.h** header file. If it's not\npresent on your system you need to install the libyaml-dev package.\n\n- On Fedora\n```bash\nsudo dnf install libyaml-devel\n```\n\n- On Debian based distribution (Ubuntu, ...)\n```bash\nsudo apt install libyaml-dev\n```\n\n## Installation\n\n```bash\npip install sqla-filter-yaml\n```\n\n## Getting Started\n\n### YAML format\n\n```yml\n---\ntype: and\ndata:\n- type: or\n data:\n - type: operator\n data:\n attribute: name\n operator: eq\n value: toto\n - type: operator\n data:\n attribute: name\n operator: eq\n value: tata\n- type: operator\n data:\n attribute: age\n operator: eq\n value: 21\n```\n\n:warning: Yaml format can change in the futur. :warning:\n\n### Example code\n\nCreate an instance of the YAMLilterParser from the yaml string / document.\n\nExample:\n```python\n# Sqlalchemy setup + model definition\n\n# Create a YAML parser instance\nparser = YAMLiltersParser(raw_json_string)\n\n# You can finaly filter your query\nquery = session.query(Post)\nfiltered_query = parser.tree.filter(query)\n\n# Get the results\nquery.all()\n```\n\n### Result tree\n\n```\n +----------------------+\n | |\n | and |\n | |\n -----------------------+\n ||\n ||\n ||\n +----------------------+ || +----------------------+\n | | || | |\n | or <------------> age == 21 |\n | | | |\n +----------------------+ +----------------------+\n ||\n ||\n ||\n+----------------------+ || +----------------------+\n| | || | |\n| name == toto <----------------> name == tata |\n| | | |\n+----------------------+ +----------------------+\n```\n\n# Contribute\n\nFork the repository and run the following command to install the dependencies and the dev dependencies.\n\n`pip install -e '.[dev]'`\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MarcAureleCoste/sqla-filters-yaml", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sqla-filters-yaml", "package_url": "https://pypi.org/project/sqla-filters-yaml/", "platform": "", "project_url": "https://pypi.org/project/sqla-filters-yaml/", "project_urls": { "Homepage": "https://github.com/MarcAureleCoste/sqla-filters-yaml" }, "release_url": "https://pypi.org/project/sqla-filters-yaml/0.0.1/", "requires_dist": [ "sqla-filters (==0.0.2)", "PyYAML (==3.13)", "pylint; extra == 'dev'", "pep8; extra == 'dev'", "autopep8; extra == 'dev'", "ipython; extra == 'dev'", "mypy; extra == 'dev'", "pytest; extra == 'dev'", "rope; extra == 'dev'", "sphinx; extra == 'dev'", "twine; extra == 'dev'" ], "requires_python": "", "summary": "YAML parser for sqla-filters.", "version": "0.0.1" }, "last_serial": 4351921, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a560624ec56a848f9601830e1d0f2701", "sha256": "2a575b24c45f7bd745d9e1d4b191205e311493f35b7543f0084294b8d4cc85cf" }, "downloads": -1, "filename": "sqla_filters_yaml-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a560624ec56a848f9601830e1d0f2701", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3623, "upload_time": "2018-10-08T12:53:30", "url": "https://files.pythonhosted.org/packages/f7/84/312220ba7db87e0277e9890f8e854865f78011712a1e466a26647ab05573/sqla_filters_yaml-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e158397814fc2b35b6bc8b91b6a4e88", "sha256": "7a485fe26b7a861a9868abee9aebd2a9224939daf717f1d2b8683b51f120b86e" }, "downloads": -1, "filename": "sqla-filters-yaml-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2e158397814fc2b35b6bc8b91b6a4e88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4306, "upload_time": "2018-10-08T12:53:32", "url": "https://files.pythonhosted.org/packages/81/b7/a6f6ae2fd7469cc3edda4230234e9a52f4b15bda4db7b382618976d2a8ac/sqla-filters-yaml-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a560624ec56a848f9601830e1d0f2701", "sha256": "2a575b24c45f7bd745d9e1d4b191205e311493f35b7543f0084294b8d4cc85cf" }, "downloads": -1, "filename": "sqla_filters_yaml-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a560624ec56a848f9601830e1d0f2701", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3623, "upload_time": "2018-10-08T12:53:30", "url": "https://files.pythonhosted.org/packages/f7/84/312220ba7db87e0277e9890f8e854865f78011712a1e466a26647ab05573/sqla_filters_yaml-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e158397814fc2b35b6bc8b91b6a4e88", "sha256": "7a485fe26b7a861a9868abee9aebd2a9224939daf717f1d2b8683b51f120b86e" }, "downloads": -1, "filename": "sqla-filters-yaml-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2e158397814fc2b35b6bc8b91b6a4e88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4306, "upload_time": "2018-10-08T12:53:32", "url": "https://files.pythonhosted.org/packages/81/b7/a6f6ae2fd7469cc3edda4230234e9a52f4b15bda4db7b382618976d2a8ac/sqla-filters-yaml-0.0.1.tar.gz" } ] }