{ "info": { "author": "Florent Rougon", "author_email": "f.rougon@free.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===============================================================================\nCondConfigParser\n===============================================================================\nPython library for parsing configuration files with conditionals\n-------------------------------------------------------------------------------\n\nCondConfigParser is a Python library designed to help Python application\ndevelopers to parse configuration files. Compared to well-known modules\nsuch as `configparser`_ and `json`_, the main specificity of\nCondConfigParser is that it allows the end user to define conditions\nusing boolean operators and specific sections in the configuration file\nthat are only applied when the corresponding condition is fulfilled.\n\n.. _configparser: https://docs.python.org/3/library/configparser.html#module-configparser\n.. _json: https://docs.python.org/3/library/json.html#module-json\n\nThe configuration file format allows the end user to define variables of\ntype boolean, string or list. These variables, in addition to *external\nvariables* defined by the application, can be combined with Python-like\nsyntax to define the conditions (called *predicates*) mentioned in the\nprevious paragraph.\n\nLists in CondConfigParser may be nested at will. Variable definitions\nmay refer to previously-defined variables. Predicates can combine\n``==``, ``!=`` and ``in`` tests using as many logical ``or``, ``and``,\n``not`` operators and parentheses as necessary. Such \u201clogical\nexpressiveness\u201d (and much more) could be obtained by reading\nconfiguration files interpreted as Python code, however:\n\n - the syntax in such a case would not allow the almost-freeform\n options that are permitted by CondConfigParser (where the\n application chooses how to interpret the \u201coptions\u201d);\n\n - when an application interprets user configuration files as Python\n code, it exposes its users to some risk in case a malicious user\n manages to sneak code of his choice into a configuration file of the\n victim (think about configuration file snippets copied from Internet\n forums...).\n\nRegarding the second point in particular, CondConfigParser never uses\n``eval`` or ``exec`` to parse configuration files. It should thus be\nsafe to work with any configuration file, including files prepared by\nmalicious users.\n\n.. _end-of-intro:\n\nHome page\n---------\n\nCondConfigParser's home page is located at:\n\n http://frougon.net/projects/CondConfigParser/\n\n(it was on people.via.ecp.fr before April 30, 2016)\n\n\nRequirements\n------------\n\nThis version of CondConfigParser requires `Python`_ 3.4 or later.\n\nInstallation from source also requires `setuptools`_, but this should only\nbe a concern if you want to install without `pip`_ (if you have ``pip``,\nyou should already have ``setuptools``; and if not, installing ``pip``\nis likely to cause ``setuptools`` to be installed at the same time).\n\n.. _Python: https://www.python.org/\n.. _pip: https://pypi.python.org/pypi/pip\n\n\nDebian package\n--------------\n\nIf you are a Debian_ user, you can install CondConfigParser using the\nfollowing lines in your ``/etc/apt/sources.list``::\n\n deb http://frougon.net/debian-ffgo unstable main\n deb-src http://frougon.net/debian-ffgo unstable main\n\nThe package is named ``python3-condconfigparser``. A package for Debian\n*stable* is also available. If this is what you want, just replace\n*unstable* with *jessie*, or whatever is the codename of the current\nDebian *stable* release, in the ``sources.list`` lines given above.\n\n.. _Debian: https://www.debian.org/\n\n\nQuick installation instructions\n-------------------------------\n\nThis section describes installation from source. If you want to install\nfrom a Debian_ package instead, see above.\n\nIf you have a working `pip`_ setup, you should be able to install\nCondConfigParser with::\n\n pip install CondConfigParser\n\n(``pip install condconfigparser`` also works)\n\nWhen doing so, make sure that your ``pip`` executable runs with the\nPython\u00a03 installation you want to install CondConfigParser for.\n\nFor more detailed instructions, you can read the ``INSTALL.txt`` file\nfrom a release tarball. You may also want to consult the `\u201cInstalling\nPython Modules\u201d chapter of the Python documentation\n`_ and the `pip\ndocumentation `_.\n\n\nDownload\n--------\n\nTypical installations with `pip`_ automatically download the latest\nrelease from `PyPI`_. However, in some cases, you may want to download\nthe tarball or zip file yourself in order to install it later, possibly\non a different machine. In such a case, you may get it `from PyPI\n`_ or `from Florent\nRougon's home page\n`_.\n\n.. _PyPI: https://pypi.python.org/pypi\n\n\nGit repository\n--------------\n\nCondConfigParser is maintained in a `Git repository\n`_ that can be cloned with::\n\n git clone https://github.com/frougon/CondConfigParser\n\n\nDocumentation\n-------------\n\nThe CondConfigParser Manual is written in `reStructuredText`_ format for\nthe `Sphinx`_ documentation generator. The HTML documentation for the\nlatest version of CondConfigParser as rendered by Sphinx is available\nat:\n\n http://frougon.net/projects/CondConfigParser/doc/\n\n.. _reStructuredText: http://docutils.sourceforge.net/rst.html\n.. _Python: https://www.python.org/\n.. _Sphinx: http://sphinx-doc.org/\n.. _LaTeX: http://latex-project.org/\n.. _Make: http://www.gnu.org/software/make/\n\nThe sources for the CondConfigParser Manual are located in the ``doc``\ntop-level directory of the CondConfigParser distribution, but the\ndocumentation build process pulls many parts from the source code,\nmainly docstrings.\n\nTo generate the documentation yourself from CondConfigParser's code and\nthe `reStructuredText`_ sources in the ``doc`` directory, first make\nsure you have `Python`_ 3.x, `Sphinx`_ and `Make`_ installed. Then, go\nto the ``doc`` directory and type, for instance::\n\n make html\n\nYou will find the output in the ``_build/html`` subdirectory of ``doc``.\n`Sphinx`_ can build the documentation in many other formats. For\ninstance, if you have `LaTeX`_ installed, you can generate the\nCondConfigParser Manual in PDF format with::\n\n make latexpdf\n\nYou can run ``make`` from the ``doc`` directory to see a list of the\navailable formats. Run ``make clean`` to clean up after the\ndocumentation build process.\n\nNote:\n\n The ``Makefile`` uses a Python script (``prepare-basic-pkg-info.py``)\n to generate ``basic-pkg-info.rst`` from the top-level ``README.rst``\n file. By default, this script is interpreted by the ``python3``\n executable. If you want to explicitely choose the interpreter to use,\n you can set the ``PYTHON`` Makefile variable like this::\n\n make PYTHON=python3.4 html\n\n Note that this only affects running of ``prepare-basic-pkg-info.py``;\n the Python interpreter used by Sphinx in other places of the\n ``Makefile`` is determined by the `sphinx-build`_ executable that\n should be part of your Sphinx installation.\n\nFor those who have installed `Sphinx`_ but not `Make`_, it is still\npossible to build the documentation with two commands such as::\n\n python3 prepare-basic-pkg-info.py ../README.rst basic-pkg-info.rst\n sphinx-build -b html -d _build/doctrees . _build/html\n\nThese commands must be run from the ``doc`` directory. Please refer to\n`sphinx-build`_ for more details.\n\n.. _sphinx-build: http://sphinx-doc.org/invocation.html\n\n\nRunning the automated test suite\n--------------------------------\n\n* If you want to run the automated test suite from an unpacked release\n tarball (or `Git`_ checkout), go to the root directory of that\n CondConfigParser distribution (the directory containing ``README.rst``\n and the ``condconfigparser`` directory) and run::\n\n python3 -m unittest\n\n (assuming of course that you want to run the tests with an executable\n called ``python3``).\n\n You may want to add the ``-v`` option at the end of the command in\n order to run the test suite in verbose mode.\n\n* On the other hand, if you have already installed CondConfigParser for\n a given Python installation and you want to test the installed\n package, go to the directory containing the installed package and\n run::\n\n python3 -m unittest discover -t ..\n\n With a POSIX-style shell, you can combine both operations with the\n following command (that does not change your current directory)::\n\n ( cd base_dir/lib/python3.4/site-packages/condconfigparser && \\\n python3 -m unittest discover -t .. )\n\n This command is given for a Python 3.4 installation:\n\n - rooted at ``base_dir`` (typically ``/usr``, ``/usr/local``,\n ``/opt/pythonX.Y`` [on Unix-like systems] or a directory\n containing a Python `venv`_ or `virtualenv`_)\n\n - using the ``python3`` executable.\n\n You may want to add the ``-v`` option after the ``discover`` argument\n in order to run the test suite in verbose mode.\n\nA successful run of the test suite looks like this::\n\n % python3 -m unittest\n .......\n ----------------------------------------------------------------------\n Ran 7 tests in 0.052s\n\n OK\n % echo $?\n 0\n %\n\nIn the above output, each dot represents a successful test. The\n``echo $?`` command shows the zero exit status, indicating success for\nall tests. In case of a failure, the exit status is non-zero.\n\nIt is also possible to ask `setuptools`_ to run the test suite (by\ndefault in verbose mode, cf. `the corresponding documentation\n`_).\nFor instance::\n\n python3 setup.py test\n\n.. _Git: http://git-scm.com/\n.. _venv: https://docs.python.org/3/library/venv.html\n.. _virtualenv: https://virtualenv.pypa.io/\n.. _setuptools: https://setuptools.pypa.io/\n\n.. \n # Local Variables:\n # coding: utf-8\n # fill-column: 72\n # End:", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://frougon.net/projects/CondConfigParser/", "keywords": "configuration file parsing parser conditionals variables lists", "license": "2-clause BSD", "maintainer": "", "maintainer_email": "", "name": "CondConfigParser", "package_url": "https://pypi.org/project/CondConfigParser/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/CondConfigParser/", "project_urls": { "Homepage": "http://frougon.net/projects/CondConfigParser/" }, "release_url": "https://pypi.org/project/CondConfigParser/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Python library for parsing configuration files with conditionals", "version": "1.0.3" }, "last_serial": 2092436, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "f47fb9b88eba7d59f8011350981eeb44", "sha256": "d954e92586fe989de4990390c98cfe2fd5da9802580537e9deb8c55ca9afd961" }, "downloads": -1, "filename": "CondConfigParser-1.0.0.tar.bz2", "has_sig": true, "md5_digest": "f47fb9b88eba7d59f8011350981eeb44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45918, "upload_time": "2015-01-12T17:01:44", "url": "https://files.pythonhosted.org/packages/d5/98/70afced402a735dfd9b61b704883380ec29e2db195281e5c868a4d60bf58/CondConfigParser-1.0.0.tar.bz2" }, { "comment_text": "", "digests": { "md5": "7106bb09f72e523907db45cdea0ccd53", "sha256": "1ef841bc4271ecc7aa51ccd5487c15af5586165ffacaed9342ff195d332ea3d4" }, "downloads": -1, "filename": "CondConfigParser-1.0.0.zip", "has_sig": true, "md5_digest": "7106bb09f72e523907db45cdea0ccd53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89015, "upload_time": "2015-01-12T17:01:47", "url": "https://files.pythonhosted.org/packages/00/46/4378136ff2bfa390de1ef7e0530112af828f5d6c6472d80a01f7f6abeca0/CondConfigParser-1.0.0.zip" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "77a04e602af6c32ebb631c504a3f91c6", "sha256": "b4cab31f1244d109ffc9f246c39f5c32c347b14e4362518381bdb732ea2a2e22" }, "downloads": -1, "filename": "CondConfigParser-1.0.0rc1.tar.bz2", "has_sig": true, "md5_digest": "77a04e602af6c32ebb631c504a3f91c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44838, "upload_time": "2015-01-11T17:11:53", "url": "https://files.pythonhosted.org/packages/3d/be/6d1da3087c1ad467434d7b55b1d70e5a794390b1ac57bbf2fa2ed0fe4b08/CondConfigParser-1.0.0rc1.tar.bz2" }, { "comment_text": "", "digests": { "md5": "cd97c670819aba7d5d939024aa4ff356", "sha256": "581b29c6e4ac3c3c65360e317118512d952454f0503be812ff387105660ea349" }, "downloads": -1, "filename": "CondConfigParser-1.0.0rc1.zip", "has_sig": true, "md5_digest": "cd97c670819aba7d5d939024aa4ff356", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86988, "upload_time": "2015-01-11T17:11:56", "url": "https://files.pythonhosted.org/packages/b4/f3/4f372e3c4b9dc86eb1b7a0f9e491ff8f155582e42ae72e7629722854393e/CondConfigParser-1.0.0rc1.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "862c3b85896de243d95c926b1b6afb8a", "sha256": "1313e93b70dfd39638a16f04cce3e642f3e698b20d3c1fb2dddbc7b47ba678f3" }, "downloads": -1, "filename": "CondConfigParser-1.0.1.tar.bz2", "has_sig": true, "md5_digest": "862c3b85896de243d95c926b1b6afb8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45538, "upload_time": "2015-08-23T10:41:10", "url": "https://files.pythonhosted.org/packages/80/c2/cffb544307afa57c228b252e6da776c1b8a42de0d918248a088dcc97aafd/CondConfigParser-1.0.1.tar.bz2" }, { "comment_text": "", "digests": { "md5": "df29ac6687d5f7db988645300eb7f661", "sha256": "62c6f7e7c14fa8d914988f35e0c0c6efedd43bb462e8e2cfc5895e19766b5d55" }, "downloads": -1, "filename": "CondConfigParser-1.0.1.zip", "has_sig": true, "md5_digest": "df29ac6687d5f7db988645300eb7f661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86564, "upload_time": "2015-08-23T10:41:18", "url": "https://files.pythonhosted.org/packages/51/cc/ee1484543f9a76d614fe02f0c27534a4b59c43b698842c5cfcf55f2a971c/CondConfigParser-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "4d8e6e31bc789aa9abd09e44e80166c0", "sha256": "a10786b534c019aeb612fbe88de27a1c233f078e9174f1e3f589623b76d6d5b8" }, "downloads": -1, "filename": "CondConfigParser-1.0.2.tar.bz2", "has_sig": true, "md5_digest": "4d8e6e31bc789aa9abd09e44e80166c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46141, "upload_time": "2015-08-30T11:06:19", "url": "https://files.pythonhosted.org/packages/2d/0b/e2a3188e25ddc1ecbcfc98e97668b7e5ac18bc7f1bae6c6c1a2b40da8019/CondConfigParser-1.0.2.tar.bz2" }, { "comment_text": "", "digests": { "md5": "290f2359b5140d944d28e81174ee2a18", "sha256": "93346608cd4a02216374b2c56b0bdcf92ba9bc7d4ce759a543b39924f6d40f88" }, "downloads": -1, "filename": "CondConfigParser-1.0.2.zip", "has_sig": true, "md5_digest": "290f2359b5140d944d28e81174ee2a18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87706, "upload_time": "2015-08-30T11:06:26", "url": "https://files.pythonhosted.org/packages/81/a8/7127f95f9251373b683c6b7da10897af2d835fb5dc27f139001fa04f6142/CondConfigParser-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "247f66a6e02c8208cd4f9e2324d0d277", "sha256": "1a6491b3ab18f1a9a117aef1028d6c74a2382fcd347c1414752a912fb73a876a" }, "downloads": -1, "filename": "CondConfigParser-1.0.3.tar.bz2", "has_sig": true, "md5_digest": "247f66a6e02c8208cd4f9e2324d0d277", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46292, "upload_time": "2016-04-30T15:47:47", "url": "https://files.pythonhosted.org/packages/0c/28/60be31d6a03d9bc8aebed9bb5a63871bacf442f1b0f940b1bbfcd6cc7742/CondConfigParser-1.0.3.tar.bz2" }, { "comment_text": "", "digests": { "md5": "b8f03b560e4328439a63bbc7370c2d68", "sha256": "5aa81529b198b310030a9464992549aa600af26ba6b63addeb1501dbc6b71786" }, "downloads": -1, "filename": "CondConfigParser-1.0.3.zip", "has_sig": true, "md5_digest": "b8f03b560e4328439a63bbc7370c2d68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87899, "upload_time": "2016-04-30T15:47:55", "url": "https://files.pythonhosted.org/packages/af/5a/cb7e38753124a134b747e211bc9ca1cb3eea834d03f184a950f6eaaaf48a/CondConfigParser-1.0.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "247f66a6e02c8208cd4f9e2324d0d277", "sha256": "1a6491b3ab18f1a9a117aef1028d6c74a2382fcd347c1414752a912fb73a876a" }, "downloads": -1, "filename": "CondConfigParser-1.0.3.tar.bz2", "has_sig": true, "md5_digest": "247f66a6e02c8208cd4f9e2324d0d277", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46292, "upload_time": "2016-04-30T15:47:47", "url": "https://files.pythonhosted.org/packages/0c/28/60be31d6a03d9bc8aebed9bb5a63871bacf442f1b0f940b1bbfcd6cc7742/CondConfigParser-1.0.3.tar.bz2" }, { "comment_text": "", "digests": { "md5": "b8f03b560e4328439a63bbc7370c2d68", "sha256": "5aa81529b198b310030a9464992549aa600af26ba6b63addeb1501dbc6b71786" }, "downloads": -1, "filename": "CondConfigParser-1.0.3.zip", "has_sig": true, "md5_digest": "b8f03b560e4328439a63bbc7370c2d68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87899, "upload_time": "2016-04-30T15:47:55", "url": "https://files.pythonhosted.org/packages/af/5a/cb7e38753124a134b747e211bc9ca1cb3eea834d03f184a950f6eaaaf48a/CondConfigParser-1.0.3.zip" } ] }