معرفی شرکت ها


distroinfo-0.6.2


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

python module for parsing, validating and querying distribution/packaging metadata stored in human readable and reviewable text/YAML files
ویژگی مقدار
سیستم عامل -
نام فایل distroinfo-0.6.2
نام distroinfo
نسخه کتابخانه 0.6.2
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Jakub Ruzicka
ایمیل نویسنده dev@lists.rdoproject.org
آدرس صفحه اصلی https://github.com/softwarefactory-project/distroinfo
آدرس اینترنتی https://pypi.org/project/distroinfo/
مجوز Apache Software License
distroinfo ========== ``distroinfo`` is a python module for parsing, validating and querying distribution/packaging metadata stored in human readable and reviewable text/YAML files. This is a proper generic (re)implementation of `rdoinfo <https://github.com/redhat-openstack/rdoinfo>`__ parser which proved well suited for the task of interfacing with distribution metadata in a human friendly way. If you consider code reviews human friendly, that is. ``distroinfo`` is a part of `Software Factory project <https://softwarefactory-project.io/docs/>`__ STATUS ------ ``distroinfo`` is available from Fedora/EPEL repos and is **BEING INTEGRATED**. `rdopkg <https://github.com/softwarefactory-project/rdopkg>`__ and `DLRN <https://github.com/softwarefactory-project/DLRN>`__ are first adopters. ``rdoinfo`` compatibility is ensured through offline and online tests. CI is enabled. See `distroinfo reviews <https://softwarefactory-project.io/dashboard/project_distroinfo>`__. Use github `Issues <https://github.com/softwarefactory-project/distroinfo/issues>`__ to make requests and report bugs. Installation ------------ from source ~~~~~~~~~~~ If you want to hack ``distroinfo`` or just have the latest code without waiting for next release, you can use the git repo directly: :: git clone https://github.com/softwarefactory-project/distroinfo cd distroinfo python setup.py develop --user You may set the preference over ``distroinfo`` RPM by correctly positioning ``~/.local/bin/distroinfo`` in your ``$PATH``. Or you can use virtualenv to avoid conflicts with RPM: :: git clone https://github.com/softwarefactory-project/distroinfo cd distroinfo virtualenv --system-site-packages ~/distroinfo-venv source ~/distroinfo-venv/bin/activate python setup.py develop ln `which distroinfo` ~/bin/distroinfo-dev distroinfo-dev --version Required python modules are listed in `requirements.txt <requirements.txt>`__. from Fedora/EPEL repos (default) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``distroinfo`` is available on **Fedora 27** and newer: :: dnf install python2-distroinfo including Python 3 version: :: dnf install python3-distroinfo On CentOS/RHEL 7, ``distroinfo`` is available from `EPEL <https://fedoraproject.org/wiki/EPEL>`__. On **CentOS 7**: :: yum install epel-release yum install python2-distroinfo On **RHEL 7**: :: yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install python2-distroinfo from PyPI ~~~~~~~~~ For your convenience, ``distroinfo`` is available from the Cheese Shop: :: pip install distroinfo Usage ----- You can **fetch info files from an URL** by specifying ``remote_info`` base URL: :: from distroinfo.info import DistroInfo RDOINFO_RAW_URL = \ 'https://raw.githubusercontent.com/redhat-openstack/rdoinfo/master/' di = DistroInfo('rdo-full.yml', remote_info=RDOINFO_RAW_URL) info = di.get_info() Or you can **fetch info files from a remote git repository** using ``remote_git_info``: :: from distroinfo.info import DistroInfo RDOINFO_GIT_URL = \ 'https://github.com/redhat-openstack/rdoinfo' di = DistroInfo('rdo-full.yml', remote_git_info=RDOINFO_GIT_URL) info = di.get_info() Or you can **fetch info files from a local directory** using ``local_info``: :: from distroinfo.info import DistroInfo INFO_PATH = '/path/to/info' di = DistroInfo('rdo-full.yml', local_info=INFO_PATH) info = di.get_info() For remote fetchers info files/repos are cached in ``~/.distroinfo/cache``. You can navigate info structure yourself or use ``query`` module: :: from distroinfo import query # get a package info by strict package name nova = query.get_package(info, 'openstack-nova') # find a package by human reference (smart search) keystone = query.find_package(info, 'keystone') Alternatively, you can get info with ``packages`` and ``releases`` as dictionaries indexed by project/release name for easier access using ``info_dicts=True``: :: info = di.get_info(info_dicts=True) nova = info['packages']['nova'] It is also possible to filter packages matching a given criteria. The following query will show all packages matching criteria conf: client AND tags: antelope. :: # rexen is a dictionary of applied filters. # pkg is the currently processed package. info = di.get_info() pkgs = info['packages'] rexen = {"conf": "client", "tags": "antelope"} finding = query.filter_pkgs(pkgs, rexen) It is also possible to apply negative filtering with "~" character, which can be combined with other filters, like conf: client. :: info = di.get_info() pkgs = info['packages'] rexen = {"tags": "~newton", "conf": "client"} finding = query.filter_pkgs(pkgs, rexen) When using this feature, the output will contain packages WITHOUT newton tag but containing conf:client. Until proper documentation is in place, please refer to: - `rdoinfo <https://github.com/redhat-openstack/rdoinfo>`__ for prime example of ``distroinfo`` format usage - `rdoinfo integration tests <https://github.com/softwarefactory-project/distroinfo/blob/master/tests/integration/test_rdoinfo_online.py>`__ for code examples - `dlrn.drivers.rdoinfo <https://github.com/softwarefactory-project/DLRN/blob/master/dlrn/drivers/rdoinfo.py>`__ for a real world code that uses tags and ``remote_git_info``/``local_info`` - `distroinfo.info <https://github.com/softwarefactory-project/distroinfo/blob/master/distroinfo/info.py>`__ to RTFS Command Line Interface ---------------------- A simple CLI is provided in ``scripts/di.py`` which can be used to test basic ``distroinfo`` functionality, profile, dump parsed data, etc. An example of dumping parsed rdoinfo into both YAML and JSON files: :: $> ./scripts/di.py dump -y rdoinfo.yaml -j rdoinfo.json -f git \ 'https://github.com/redhat-openstack/rdoinfo' rdo-full.yml Dumping YAML to: rdoinfo.yaml Dumping JSON to: rdoinfo.json Additional ``docopt`` module is required to run the CLI. Bugs ---- Please use the `github Issues <https://github.com/softwarefactory-project/distroinfo/issues>`__ to report bugs.


نیازمندی

مقدار نام
>=0.5.6 pbr
- PyYAML
- requests
- six


نحوه نصب


نصب پکیج whl distroinfo-0.6.2:

    pip install distroinfo-0.6.2.whl


نصب پکیج tar.gz distroinfo-0.6.2:

    pip install distroinfo-0.6.2.tar.gz