Giter Site home page Giter Site logo

abravalheri / ini2toml Goto Github PK

View Code? Open in Web Editor NEW
51.0 3.0 8.0 501 KB

Automatically conversion of `.ini/.cfg` files to TOML equivalents

Home Page: https://ini2toml.readthedocs.io/en/latest

License: Mozilla Public License 2.0

Python 100.00%
ini toml cfg-files pep621 setuptools

ini2toml's Introduction

Built Status ReadTheDocs Coveralls PyPI-Server Project generated with PyScaffold

ini2toml

Automatically translates .ini/.cfg files into TOML

Important

This project is experimental and under active development Issue reports and contributions are very welcome.

Description

The original purpose of this project is to help migrating setup.cfg files to PEP 621, but by extension it can also be used to convert any compatible .ini/.cfg file to TOML.

Please notice, the provided .ini/.cfg files should follow the same syntax supported by Python's ConfigParser library (here referred to as INI syntax) and more specifically abide by ConfigUpdater restrictions (e.g., no interpolation or repeated fields).

Usage

ini2toml comes in two flavours: "lite" and "full". The "lite" flavour will create a TOML document that does not contain any of the comments from the original .ini/.cfg file. On the other hand, the "full" flavour will make an extra effort to translate these comments into a TOML-equivalent (please notice sometimes this translation is not perfect, so it is always good to check the TOML document afterwards).

To get started, you need to install the package, which can be easily done using pipx:

$ pipx install 'ini2toml[lite]'
# OR
$ pipx install 'ini2toml[full]'

Now you can use ini2toml as a command line tool:

# in you terminal
$ ini2toml --help
$ ini2toml path/to/ini/or/cfg/file

You can also use ini2toml in your Python scripts or projects:

# in your python code
from ini2toml.api import Translator

profile_name = "setup.cfg"
toml_str = Translator().translate(original_contents_str, profile_name)

To do so, don't forget to add it to your virtual environment or specify it as a project dependency.

More details about ini2toml and its Python API can be found in our docs.

Tip

If you consider contributing to this project, have a look on our contribution guides.

Note

This project was initially created in the context of PyScaffold, with the purpose of helping migrating existing projects to PEP 621-style configuration when it is made available on setuptools. For details and usage information on PyScaffold see https://pyscaffold.org/.

ini2toml's People

Contributors

abravalheri avatar cclauss avatar ewouth avatar kolanich avatar mgorny avatar pre-commit-ci[bot] avatar ryneeverett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ini2toml's Issues

Enforce multi-line tables for entry-points

According to the discussion in PyPA, it would be nice to enforce certain dicts are persisted as multi-line tables (instead of inline), for example for entry-points.

Others (like URL) might be better off as dotted keys.

flake8 doesn't support [tool.flake8]

flake8 doesn't support pyproject.toml yet - see PyCQA/flake8#234

Not sure if it fits with the project, but it'd be great to be able to generate either a minimal setup.cfg with things that can't be migrate or to e.g. populate a .flake8 or tox.ini file with the flake8 settings. Or if those aren't an option, warn the user that part of their config won't be effective.

Value of setup.cfg `[options.package_data]` entry `* = [...]` is converted to a string representation of `[...]`

First -- thank you for all your work around pyproject.toml and setuptools, and for this conversion helper -- very much appreciated!!

I'm using ini2toml 0.10 and Python 3.9.11. The following piece of my setup.cfg

[options.package_data]
* = ['extension/jupyter_tempvars.*']

is being converted to

[tool.setuptools.package-data]
"*" = [ "['extension/jupyter_tempvars.*']",]

I'm pretty sure it should just be

"*" = ['extension/jupyter_tempvars.*',]

This was the only array value in the entire setup.cfg, so I don't have any other array values to compare to. Is this parse case just not implemented yet?

self-tests fail against tomlkit 0.11.6

With recent tomlkit 0.11.6 ini2toml tests fail:

...
__________________________________ test_data_files ___________________________________

translator = <ini2toml.translator.Translator object at 0x7fcdedea8e80>

    def test_data_files(translator):
        # Same thing but with the higher level API:
        with pytest.warns(DeprecationWarning, match="'data-files' is deprecated"):
            text = translator.translate(example_data_files, profile_name="setup.cfg")
>           assert text.strip() == expected_data_files.strip()
E           assert '[build-system]\nrequires = ["setuptools>=61.2"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\ndynamic = ["version"]\n\n[tool.setuptools]\ndata-files = {a = ["b"]}\ninclude-package-data = false' == '[build-system]\nrequires = ["setuptools>=61.2"]\nbuild-backend = "setuptools.build_meta"\n\n[project]\ndynamic = ["version"]\n\n[tool]\n[tool.setuptools]\ndata-files = {a = ["b"]}\ninclude-package-data = false'
E               [build-system]
E               requires = ["setuptools>=61.2"]
E               build-backend = "setuptools.build_meta"
E               
E               [project]
E               dynamic = ["version"]
E               
E             - [tool]
E               [tool.setuptools]
E               data-files = {a = ["b"]}
E               include-package-data = false

tests/plugins/test_setuptools_pep621.py:659: AssertionError
...
============================== short test summary info ===============================
FAILED tests/drivers/test_full_toml.py::test_convert - assert '[section1]\n# comment\nvalue = 42 # int value\n\n[section2]\nfloat-value ...
FAILED tests/plugins/test_setuptools_pep621.py::test_split_subtables - assert '[tool.setuptools.packages.find]\nwhere = "src"\n\n[project]\n[project.ent...
FAILED tests/plugins/test_setuptools_pep621.py::test_entrypoints_and_split_subtables - assert '[tool.setuptools.packages.find]\nwhere = "src"\n\n[project]\n[project.ent...
FAILED tests/plugins/test_setuptools_pep621.py::test_empty - assert '[build-system]\nrequires = ["setuptools>=61.2"]\nbuild-backend = "setupto...
FAILED tests/plugins/test_setuptools_pep621.py::test_data_files - assert '[build-system]\nrequires = ["setuptools>=61.2"]\nbuild-backend = "setupto...
============================ 5 failed, 81 passed in 5.75s ============================

With sdispater/tomlkit#246 default value for is_super_table was changed from False to autodetect.

Create simpler "readme =" under [project] instead of [project.readme] section?

First, thanks for this really useful tool!

Summary

I found a potential bug in pyproject-fmt where it misplaces a [project.readme] section in pyproject.toml leading to an error.

It looks like pyproject-fmt wasn't expecting a [project.readme], and rather expected a readme = under [project], which it handles fine.

And the pyproject.toml was generated by ini2toml from a setup.cfg using -p setup.cfg, perhaps it could create the simpler readme = instead?

Feel free to close this if it's not a good idea!

Details

1. setup.cfg to pyproject.toml

Start with a minimal-ish setup.cfg with a Markdown README:

[metadata]
name = my-name
description = my-description
long_description = file: README.md
long_description_content_type = text/markdown
url = https://github.com/my/project
author = my-author
license = MIT

[options]
packages = find:
python_requires = >=3.7
package_dir = =src

[options.packages.find]
where = src

Convert to pyproject.toml and validate:

$ ini2toml setup.cfg -p setup.cfg -o pyproject.toml; validate-pyproject pyproject.toml
Valid file: pyproject.toml

Creates this pyproject.toml:

[build-system]
requires = ["setuptools>=61.2"]
build-backend = "setuptools.build_meta"

[project]
name = "my-name"
description = "my-description"
authors = [{name = "my-author"}]
license = {text = "MIT"}
urls = {Homepage = "https://github.com/my/project"}
requires-python = ">=3.7"
dynamic = ["version"]

[project.readme]
file = "README.md"
content-type = "text/markdown"

[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = false

[tool.setuptools.packages.find]
where = ["src"]
namespaces = false

Note the README is in its own section:

[project.readme]
file = "README.md"
content-type = "text/markdown"

2. Format with pyproject-fmt

Running:

$ pyproject-fmt pyproject.toml > /dev/null; validate-pyproject pyproject.toml
Invalid file: pyproject.toml
[ERROR] `project` must contain ['version'] properties

Changes the pyproject.toml like this:

--- pyproject.toml

+++ pyproject.toml

@@ -1,19 +1,23 @@

 [build-system]
-requires = ["setuptools>=61.2"]
 build-backend = "setuptools.build_meta"
+requires = [
+  "setuptools>=61.2",
+]

 [project]
-name = "my-name"
+name = "my_name"
 description = "my-description"
-authors = [{name = "my-author"}]
-license = {text = "MIT"}
-urls = {Homepage = "https://github.com/my/project"}
-requires-python = ">=3.7"
-dynamic = ["version"]
-
 [project.readme]
 file = "README.md"
 content-type = "text/markdown"
+
+license = {text = "MIT"}
+authors = [{name = "my-author"}]
+requires-python = ">=3.7"
+dynamic = [
+  "version",
+]
+urls = {Homepage = "https://github.com/my/project"}

 [tool.setuptools]
 package-dir = {"" = "src"}

To this pyproject.toml:

[build-system]
build-backend = "setuptools.build_meta"
requires = [
  "setuptools>=61.2",
]

[project]
name = "my_name"
description = "my-description"
[project.readme]
file = "README.md"
content-type = "text/markdown"

license = {text = "MIT"}
authors = [{name = "my-author"}]
requires-python = ">=3.7"
dynamic = [
  "version",
]
urls = {Homepage = "https://github.com/my/project"}


[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = false

[tool.setuptools.packages.find]
where = ["src"]
namespaces = false

Note that pyproject-fmt inserts [project.readme] right in the middle of the [project] section:

[project]
name = "my_name"
description = "my-description"
[project.readme]
file = "README.md"
content-type = "text/markdown"

license = {text = "MIT"}
...

Alternatively

1. setup.cfg to pyproject.toml and edit

This is likely a pyproject-fmt bug, but if we re-generate pyproject.toml:

$ ini2toml setup.cfg -p setup.cfg -o pyproject.toml; validate-pyproject pyproject.toml
Valid file: pyproject.toml

But manually edit the generated pyproject.toml and simplify the readme config:

 [project]
 name = "my-name"
 description = "my-description"
+readme = "README.md"
 authors = [{name = "my-author"}]
 license = {text = "MIT"}
 urls = {Homepage = "https://github.com/my/project"}
 requires-python = ">=3.7"
 dynamic = ["version"]
 
-[project.readme]
-file = "README.md"
-content-type = "text/markdown"
-
 [tool.setuptools]
 package-dir = {"" = "src"}
 include-package-data = false

(Like pyproject-fmt itself does: https://github.com/tox-dev/pyproject-fmt/blob/e4e90cfa5f3731697673b34067796bbe7c9a8e07/pyproject.toml#L8)

2. Format with pyproject-fmt

This time pyproject-fmt doesn't break the file:

$ pyproject-fmt pyproject.toml > /dev/null; validate-pyproject pyproject.toml
Valid file: pyproject.toml

And makes valid edits:

diff --git a/pyproject.toml b/pyproject.toml
index 3188688..2f57876 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,19 +1,20 @@
 [build-system]
-requires = ["setuptools>=61.2"]
 build-backend = "setuptools.build_meta"
+requires = [
+  "setuptools>=61.2",
+]
 
 [project]
-name = "my-name"
+name = "my_name"
 description = "my-description"
-authors = [{name = "my-author"}]
+readme = "README.md"
 license = {text = "MIT"}
-urls = {Homepage = "https://github.com/my/project"}
+authors = [{name = "my-author"}]
 requires-python = ">=3.7"
-dynamic = ["version"]
-
-[project.readme]
-file = "README.md"
-content-type = "text/markdown"
+dynamic = [
+  "version",
+]
+urls = {Homepage = "https://github.com/my/project"}
 
 [tool.setuptools]
 package-dir = {"" = "src"}

pytest filterwarnings translated incorrectly

input:

[pytest]
filterwarnings=
    error
    ignore:Please use `dok_matrix` from the `scipy\.sparse` namespace, the `scipy\.sparse\.dok` namespace is deprecated.:DeprecationWarning

output:

[build-system]
requires = ["setuptools>=61.2"]
build-backend = "setuptools.build_meta"

[project]
dynamic = ["version"]

[tool.pytest.ini_options]
filterwarnings = [
    "error",
    "ignore:Please", "use", "`dok_matrix`", "from", "the", '`scipy\.sparse`', "namespace,", "the", '`scipy\.sparse\.dok`', "namespace", "is", "deprecated.:DeprecationWarning",
]

[tool.setuptools]
include-package-data = false

expected:

[build-system]
requires = ["setuptools>=61.2"]
build-backend = "setuptools.build_meta"

[project]
dynamic = ["version"]

[tool.pytest.ini_options]
filterwarnings = [
    "error",
    """ignore:Please use `dok_matrix` from the `scipy\.sparse` namespace, the `scipy\.sparse\.dok` namespace is deprecated.:DeprecationWarning""",
]

[tool.setuptools]
include-package-data = false

autoformatting against pyproject-fmt 0.4.0

With new pyproject-fmt (0.4.0) test_auto_formatting fails:

________________________________ test_auto_formatting ________________________________

tmp_path = PosixPath('/usr/src/tmp/pytest-of-builder/pytest-2/test_auto_formatting0')
capsys = <_pytest.capture.CaptureFixture object at 0x7ff8d4065180>

    @pytest.mark.skipif(
        sys.version_info < (3, 7),
        reason="pyproject-fmt is only available on Python 3.7+",
    )
    def test_auto_formatting(tmp_path, capsys):
        setupcfg = """
        [metadata]
        version = 42
        name = myproj
        """
        normal_output = """
        requires = ["setuptools>=61.2"]
        """
        expected = """
        requires = [
          "setuptools>=61.2",
        ]
        """
    
        # Check if the underlying function works
        formatted = cli.apply_auto_formatting(cleandoc(expected))
        assert formatted.strip() == cleandoc(expected).strip()
    
        (tmp_path / "setup.cfg").write_text(cleandoc(setupcfg), encoding="utf-8")
        assert (tmp_path / "setup.cfg").exists()
    
        # Check the output when formatting in off
        cli.run([str(tmp_path / "setup.cfg")])
        out, _ = capsys.readouterr()
        assert cleandoc(normal_output) in out
        assert cleandoc(expected) not in out
    
        # Check the output when formatting in on
        breakpoint()
        cli.run(["-F", str(tmp_path / "setup.cfg")])
        out, _ = capsys.readouterr()
        assert cleandoc(normal_output) not in out
>       assert cleandoc(expected) in out
E       assert 'requires = [\n  "setuptools>=61.2",\n]' in ''
E        +  where 'requires = [\n  "setuptools>=61.2",\n]' = cleandoc('\n    requires = [\n      "setuptools>=61.2",\n    ]\n    ')

tests/test_cli.py:145: AssertionError
--------------------------------- Captured log call ----------------------------------
WARNING  ini2toml:cli.py:101 Auto-formatting failed, falling back to original text
WARNING  ini2toml:cli.py:101 Auto-formatting failed, falling back to original text
============================== short test summary info ===============================
FAILED tests/test_cli.py::test_auto_formatting - assert 'requires = [\n  "setuptools>=61.2",\n]' in ''
(py3) [builder@localhost python3-module-ini2toml-0.11.1]$ ini2toml -vv -F /usr/src/tmp/pytest-of-builder/pytest-3/test_auto_formatting0/setup.cfg
[DEBUG] pyproject-fmt failed: Config.__init__() missing 1 required positional argument: 'toml'
Traceback (most recent call last):
  File "/usr/src/RPM/BUILD/python3-module-ini2toml-0.11.1/.tox/py3/lib/python3/site-packages/ini2toml/cli.py", line 98, in apply_auto_formatting
    return format_pyproject(Config(text))
TypeError: Config.__init__() missing 1 required positional argument: 'toml'
[WARNING] Auto-formatting failed, falling back to original text
[build-system]
requires = ["setuptools>=61.2"]
build-backend = "setuptools.build_meta"

[project]
version = "42"
name = "myproj"

[tool.setuptools]
include-package-data = false

This is caused by tox-dev/pyproject-fmt@c690ab2 (added pyproject_toml: Path field to Config).

Outdated exports in the `api` module

This list is outdated:

__all__ = [
"Commented",
"CommentedKV",
"CommentedList",
"Translator",
"Profile",
"UndefinedProfile",
"InvalidAugmentationName",
"AlreadyRegisteredAugmentation",
"ErrorLoadingPlugin",
]

I don't know if the best is to add everything from the errors and types module here, or explicitly say in the docs that everything exposed in the api + errors + types module is part of the public API...

Use `tomlkit` instead of `atoml`

Now that the lead developer of atoml is also a maintainer of tomlkit, most of the fixes for bugs and improvements in atoml should have already be back ported to tomlkit.

So it makes sense to use again tomlkit.

Change order of sections

As recommended in the PyPA discord:

build-system should come first, followed by project and then by tool.

0.10: sphinx warnings

Looks like latest sphins shows a lot of warnings

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v4.5.0
Creating file /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/api/ini2toml.rst.
Creating file /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/api/ini2toml.drivers.rst.
Creating file /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/api/ini2toml.plugins.rst.
Creating file /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/api/modules.rst.
loading configurations for ini2toml 0.10 ...
making output directory... done
loading intersphinx inventory from https://www.sphinx-doc.org/en/master/objects.inv...
loading intersphinx inventory from https://docs.python.org/3.8/objects.inv...
loading intersphinx inventory from https://matplotlib.org/objects.inv...
loading intersphinx inventory from https://numpy.org/doc/stable/objects.inv...
loading intersphinx inventory from https://scikit-learn.org/stable/objects.inv...
loading intersphinx inventory from https://pandas.pydata.org/pandas-docs/stable/objects.inv...
loading intersphinx inventory from https://docs.scipy.org/doc/scipy/reference/objects.inv...
loading intersphinx inventory from https://setuptools.pypa.io/en/stable/objects.inv...
loading intersphinx inventory from https://pyscaffold.org/en/stable/objects.inv...
intersphinx inventory has moved: https://matplotlib.org/objects.inv -> https://matplotlib.org/stable/objects.inv
intersphinx inventory has moved: https://docs.scipy.org/doc/scipy/reference/objects.inv -> https://docs.scipy.org/doc/scipy/objects.inv
[autosummary] generating autosummary for: api/ini2toml.drivers.rst, api/ini2toml.plugins.rst, api/ini2toml.rst, api/modules.rst, authors.rst, changelog.rst, contributing.rst, dev-guide.rst, index.rst, license.rst, readme.rst, setuptools_pep621.rst
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 12 added, 0 changed, 0 removed
reading sources... [100%] setuptools_pep621
CONTRIBUTING.rst:243: CRITICAL: Title level inconsistent:

Releases
--------
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-ini2toml.3 { readme setuptools_pep621 contributing dev-guide license authors changelog api/modules api/ini2toml api/ini2toml.drivers api/ini2toml.plugins } /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/dev-guide.rst:227: WARNING: py:meth reference target not found: ini2toml.translator.Translator.augment_profiles
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/dev-guide.rst:259: WARNING: py:meth reference target not found: ini2toml.translator.Translator.augment_profiles
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/drivers/configupdater.py:docstring of ini2toml.drivers.configupdater.translate_comment:: WARNING: py:class reference target not found: configupdater.block.Comment
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/drivers/configupdater.py:docstring of ini2toml.drivers.configupdater.translate_option:: WARNING: py:class reference target not found: configupdater.option.Option
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/drivers/configupdater.py:docstring of ini2toml.drivers.configupdater.translate_section:: WARNING: py:class reference target not found: configupdater.section.Section
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/drivers/configupdater.py:docstring of ini2toml.drivers.configupdater.translate_space:: WARNING: py:class reference target not found: configupdater.block.Space
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/drivers/full_toml.py:docstring of tomlkit.api.loads:: WARNING: py:class reference target not found: tomlkit.toml_document.TOMLDocument
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/best_effort.py:docstring of ini2toml.plugins.best_effort.BestEffort.apply_best_effort:: WARNING: py:class reference target not found: ini2toml.plugins.best_effort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/best_effort.py:docstring of ini2toml.plugins.best_effort.BestEffort.apply_best_effort_to_section:: WARNING: py:class reference target not found: ini2toml.plugins.best_effort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/best_effort.py:docstring of ini2toml.plugins.best_effort.BestEffort.apply_best_effort_to_section:: WARNING: py:class reference target not found: ini2toml.plugins.best_effort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/best_effort.py:docstring of ini2toml.plugins.best_effort.BestEffort.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.best_effort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/best_effort.py:docstring of ini2toml.plugins.best_effort.BestEffort.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.best_effort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/coverage.py:docstring of ini2toml.plugins.coverage.Coverage.process_section:: WARNING: py:class reference target not found: ini2toml.plugins.coverage.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/coverage.py:docstring of ini2toml.plugins.coverage.Coverage.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.coverage.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/coverage.py:docstring of ini2toml.plugins.coverage.Coverage.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.coverage.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/isort.py:docstring of ini2toml.plugins.isort.ISort.process_section:: WARNING: py:class reference target not found: ini2toml.plugins.isort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/isort.py:docstring of ini2toml.plugins.isort.ISort.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.isort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/isort.py:docstring of ini2toml.plugins.isort.ISort.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.isort.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.add_overrided_modules:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_options:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_options:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_overrides:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_overrides:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/mypy.py:docstring of ini2toml.plugins.mypy.Mypy.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.mypy.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/pytest.py:docstring of ini2toml.plugins.pytest.Pytest.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.pytest.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/pytest.py:docstring of ini2toml.plugins.pytest.Pytest.process_values:: WARNING: py:class reference target not found: ini2toml.plugins.pytest.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.apply_value_processing:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.apply_value_processing:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.dependent_processing_rules:: WARNING: py:class reference target not found: ini2toml.types.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.dependent_processing_rules:: WARNING: py:class reference target not found: ini2toml.types.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.ensure_pep518:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.ensure_pep518:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.fix_extras_require:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.fix_extras_require:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_dynamic:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_dynamic:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_license:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_license:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_packages_find:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.handle_packages_find:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.make_include_package_data_explicit:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.make_include_package_data_explicit:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_and_rename_long_description_and_content_type:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_and_rename_long_description_and_content_type:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_and_rename_urls:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_and_rename_urls:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_authors_maintainers_and_emails:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.merge_authors_maintainers_and_emails:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_and_split_entrypoints:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_and_split_entrypoints:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_options_missing_in_pep621:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_options_missing_in_pep621:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_setup_requires:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_setup_requires:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_tests_require:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.move_tests_require:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.normalise_keys:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.normalise_keys:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.parse_setup_py_command_options:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.parse_setup_py_command_options:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.pep621_transform:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.pep621_transform:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.processing_rules:: WARNING: py:class reference target not found: ini2toml.types.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.processing_rules:: WARNING: py:class reference target not found: ini2toml.types.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.remove_metadata_not_in_pep621:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.remove_metadata_not_in_pep621:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.rename_script_files:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.rename_script_files:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.split_subtables:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.split_subtables:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/setuptools_pep621.py:docstring of ini2toml.plugins.setuptools_pep621.SetuptoolsPEP621.template:: WARNING: py:class reference target not found: ini2toml.plugins.setuptools_pep621.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/__init__.py:docstring of ini2toml.plugins.ErrorLoadingPlugin:: WARNING: py:class reference target not found: importlib.metadata.EntryPoint
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/__init__.py:docstring of ini2toml.plugins.iterate_entry_points:: WARNING: py:class reference target not found: importlib.metadata.EntryPoint
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/plugins/__init__.py:docstring of ini2toml.plugins.load_from_entry_point:: WARNING: py:class reference target not found: importlib.metadata.EntryPoint
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:1: WARNING: py:obj reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:35: WARNING: py:mod reference target not found: configparser.ConfigParser
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:35: WARNING: py:mod reference target not found: configupdater.ConfigUpdater
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator.dumps:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator.translate:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:1: WARNING: py:obj reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:35: WARNING: py:mod reference target not found: configparser.ConfigParser
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator:35: WARNING: py:mod reference target not found: configupdater.ConfigUpdater
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator.dumps:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/base_translator.py:docstring of ini2toml.base_translator.BaseTranslator.translate:: WARNING: py:class reference target not found: ini2toml.base_translator.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/cli.py:docstring of ini2toml.cli.run:1: WARNING: py:obj reference target not found: Translator
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/cli.py:docstring of ini2toml.cli.run:3: WARNING: py:func reference target not found: Translator.translate
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.as_commented_list:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV.insert_line:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList.insert_line:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.append:1: WARNING: py:meth reference target not found: collections.abc.MutableMapping.append
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.copy:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.insert:1: WARNING: py:meth reference target not found: collections.abc.MutableMapping.insert
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.replace_first_remove_others:1: WARNING: py:meth reference target not found: replace
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/profile.py:docstring of ini2toml.profile.Profile:: WARNING: py:class reference target not found: ini2toml.types.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/profile.py:docstring of ini2toml.profile.Profile:: WARNING: py:class reference target not found: ini2toml.types.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/profile.py:docstring of ini2toml.profile.replace:: WARNING: py:class reference target not found: ini2toml.profile.P
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/profile.py:docstring of ini2toml.profile.replace:: WARNING: py:class reference target not found: ini2toml.profile.P
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/profile.py:docstring of ini2toml.profile.replace:: WARNING: py:class reference target not found: ini2toml.profile.P
<unknown>:1: WARNING: py:obj reference target not found: ini2toml.transformations.T
docstring of ini2toml.transformations.Transformation:6: WARNING: py:obj reference target not found: Commented
docstring of ini2toml.transformations.Transformation:6: WARNING: py:obj reference target not found: CommentedList
<unknown>:1: WARNING: py:obj reference target not found: ini2toml.transformations.M
<unknown>:1: WARNING: py:obj reference target not found: ini2toml.transformations.M
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.deprecated:: WARNING: py:class reference target not found: ini2toml.transformations.TF
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.noop:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.noop:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.U
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.V
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.X
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.pipe:: WARNING: py:class reference target not found: ini2toml.transformations.Y
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_comment:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_comment:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_kv_pairs:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_kv_pairs:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_kv_pairs:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_kv_pairs:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_kv_pairs:3: WARNING: py:func reference target not found: str.splitlines
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_list:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_list:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_list:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_list:: WARNING: py:class reference target not found: ini2toml.transformations.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/transformations.py:docstring of ini2toml.transformations.split_list:3: WARNING: py:func reference target not found: str.splitlines
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.as_commented_list:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.Commented.value_or:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.S
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedKV.insert_line:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList:1: WARNING: py:obj reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.CommentedList.insert_line:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.T
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.append:1: WARNING: py:meth reference target not found: collections.abc.MutableMapping.append
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.copy:: WARNING: py:class reference target not found: ini2toml.intermediate_repr.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.insert:1: WARNING: py:meth reference target not found: collections.abc.MutableMapping.insert
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/intermediate_repr.py:docstring of ini2toml.intermediate_repr.IntermediateRepr.replace_first_remove_others:1: WARNING: py:meth reference target not found: replace
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/types.py:docstring of ini2toml.types.Profile.intermediate_processors:: WARNING: py:class reference target not found: ini2toml.types.R
/home/tkloczko/rpmbuild/BUILD/ini2toml-0.10/docs/../src/ini2toml/types.py:docstring of ini2toml.types.Profile.intermediate_processors:: WARNING: py:class reference target not found: ini2toml.types.R
done
build succeeded, 199 warnings.

0.10: pytest is failing

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

Here is pytest output:

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-ini2toml-0.10-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-ini2toml-0.10-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra =========================================================================== test session starts ============================================================================ platform linux -- Python 3.8.13, pytest-7.1.1, pluggy-1.0.0 rootdir: /home/tkloczko/rpmbuild/BUILD/ini2toml-0.10, configfile: setup.cfg, testpaths: tests plugins: forked-1.4.0, shutil-1.7.0, virtualenv-1.7.0, xdist-2.5.0, cov-3.0.0, flake8-1.1.1, checkdocs-2.7.1 collected 106 items

tests/test_cli.py ......F [ 8%]
tests/test_examples.py EEEEEEEEEEEEEEEEEEEE.......... [ 42%]
tests/test_intermediate_repr.py ...... [ 49%]
tests/test_plugins.py ... [ 52%]
tests/test_transformations.py ..... [ 58%]
tests/test_translator.py ..... [ 64%]
tests/drivers/test_configparser.py . [ 65%]
tests/drivers/test_configupdater.py . [ 66%]
tests/drivers/test_full_toml.py . [ 67%]
tests/drivers/test_lite_toml.py . [ 68%]
tests/drivers/test_plain_builtins.py . [ 70%]
. F [ 71%]
tests/plugins/test_best_effort.py . [ 72%]
tests/plugins/test_coverage.py . [ 73%]
tests/plugins/test_isort.py . [ 74%]
tests/plugins/test_mypy.py . [ 75%]
tests/plugins/test_profile_independent_tasks.py .. [ 78%]
tests/plugins/test_pytest.py . [ 79%]
tests/plugins/test_setuptools_pep621.py .................. [100%]

================================================================================== ERRORS ==================================================================================
________________________________ ERROR at setup of test_examples_api[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml] _________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_________________________________ ERROR at setup of test_examples_api[tests/examples/flask/setup.cfg-tests/examples/flask/pyproject.toml] __________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
________________________________ ERROR at setup of test_examples_api[tests/examples/pandas/setup.cfg-tests/examples/pandas/pyproject.toml] _________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
________________________________ ERROR at setup of test_examples_api[tests/examples/pluggy/setup.cfg-tests/examples/pluggy/pyproject.toml] _________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_______________________________ ERROR at setup of test_examples_api[tests/examples/plumbum/setup.cfg-tests/examples/plumbum/pyproject.toml] ________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
____________________________ ERROR at setup of test_examples_api[tests/examples/pyscaffold/setup.cfg-tests/examples/pyscaffold/pyproject.toml] _____________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_______________________ ERROR at setup of test_examples_api[tests/examples/setuptools_docs/setup.cfg-tests/examples/setuptools_docs/pyproject.toml] ________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
________________________ ERROR at setup of test_examples_api[tests/examples/setuptools_scm/setup.cfg-tests/examples/setuptools_scm/pyproject.toml] _________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
____________________________ ERROR at setup of test_examples_api[tests/examples/virtualenv/setup.cfg-tests/examples/virtualenv/pyproject.toml] _____________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
__________________________________ ERROR at setup of test_examples_api[tests/examples/zipp/setup.cfg-tests/examples/zipp/pyproject.toml] ___________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
______________________________ ERROR at setup of test_examples_api_lite[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml] ______________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_______________________________ ERROR at setup of test_examples_api_lite[tests/examples/flask/setup.cfg-tests/examples/flask/pyproject.toml] _______________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
______________________________ ERROR at setup of test_examples_api_lite[tests/examples/pandas/setup.cfg-tests/examples/pandas/pyproject.toml] ______________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
______________________________ ERROR at setup of test_examples_api_lite[tests/examples/pluggy/setup.cfg-tests/examples/pluggy/pyproject.toml] ______________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_____________________________ ERROR at setup of test_examples_api_lite[tests/examples/plumbum/setup.cfg-tests/examples/plumbum/pyproject.toml] _____________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
__________________________ ERROR at setup of test_examples_api_lite[tests/examples/pyscaffold/setup.cfg-tests/examples/pyscaffold/pyproject.toml] __________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
_____________________ ERROR at setup of test_examples_api_lite[tests/examples/setuptools_docs/setup.cfg-tests/examples/setuptools_docs/pyproject.toml] _____________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
______________________ ERROR at setup of test_examples_api_lite[tests/examples/setuptools_scm/setup.cfg-tests/examples/setuptools_scm/pyproject.toml] ______________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
__________________________ ERROR at setup of test_examples_api_lite[tests/examples/virtualenv/setup.cfg-tests/examples/virtualenv/pyproject.toml] __________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
________________________________ ERROR at setup of test_examples_api_lite[tests/examples/zipp/setup.cfg-tests/examples/zipp/pyproject.toml] ________________________________

@pytest.fixture(scope="module")
def validate():
    """Use ``validate-pyproject`` to validate the generated TOML"""
  return Validator()

tests/test_examples.py:35:


/usr/lib/python3.8/site-packages/validate_pyproject/api.py:208: in init
self._schema_registry = SchemaRegistry(self._plugins)
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:96: in init
top_level = cast(dict, load(TOP_LEVEL_SCHEMA)) # Make it mutable
/usr/lib/python3.8/site-packages/validate_pyproject/api.py:74: in load
return Schema(json.loads(read_text(package, f"{name}{ext}")))
/usr/lib64/python3.8/importlib/resources.py:169: in read_text
with open_text(package, resource, encoding, errors) as fp:
/usr/lib64/python3.8/importlib/resources.py:125: in open_text
return TextIOWrapper(reader.open_resource(resource), encoding, errors)


self = <_frozen_importlib_external.SourceFileLoader object at 0x7fa993e62f40>, resource = 'pyproject_toml.schema.json'

???
E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.8/site-packages/validate_pyproject/pyproject_toml.schema.json'

:1048: FileNotFoundError
================================================================================= FAILURES =================================================================================
___________________________________________________________________________ test_auto_formatting ___________________________________________________________________________

tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-356/test_auto_formatting0'), capsys = <_pytest.capture.CaptureFixture object at 0x7fa9939da8e0>

def test_auto_formatting(tmp_path, capsys):
    setupcfg = """
    [metadata]
    version = 42
    name = myproj
    """
    normal_output = """
    requires = ["setuptools"]
    """
    expected = """
    requires = [
      "setuptools",
    ]
    """

    # Check if the underlying function works
    formatted = cli.apply_auto_formatting(cleandoc(expected))
    assert formatted.strip() == cleandoc(expected).strip()

    (tmp_path / "setup.cfg").write_text(cleandoc(setupcfg), encoding="utf-8")
    assert (tmp_path / "setup.cfg").exists()

    # Check the output when formatting in off
    cli.run([str(tmp_path / "setup.cfg")])
    out, _ = capsys.readouterr()
    assert cleandoc(normal_output) in out
    assert cleandoc(expected) not in out

    # Check the output when formatting in on
  cli.run(["-F", str(tmp_path / "setup.cfg")])

tests/test_cli.py:137:


/usr/lib64/python3.8/contextlib.py:75: in inner
return func(*args, **kwds)
../../BUILDROOT/python-ini2toml-0.10-2.fc35.x86_64/usr/lib/python3.8/site-packages/ini2toml/cli.py:196: in run
params = parse_args(args, profiles, profile_augmentations)
/usr/lib64/python3.8/contextlib.py:75: in inner
return func(*args, **kwds)
../../BUILDROOT/python-ini2toml-0.10-2.fc35.x86_64/usr/lib/python3.8/site-packages/ini2toml/cli.py:150: in parse_args
params = parser.parse_args(args)
/usr/lib64/python3.8/argparse.py:1771: in parse_args
self.error(msg % ' '.join(argv))
/usr/lib64/python3.8/argparse.py:2521: in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)


self = ArgumentParser(prog='pytest', usage=None, description='Automatically converts .cfg/.ini files into TOML', formatter_class=<class 'ini2toml.cli.Formatter'>, conflict_handler='error', add_help=True)
status = 2, message = 'pytest: error: unrecognized arguments: -F\n'

def exit(self, status=0, message=None):
    if message:
        self._print_message(message, _sys.stderr)
  _sys.exit(status)

E SystemExit: 2

/usr/lib64/python3.8/argparse.py:2508: SystemExit
--------------------------------------------------------------------------- Captured stderr call ---------------------------------------------------------------------------
usage: pytest [-h] [-V] [-o OUTPUT_FILE] [-p PROFILE]
[-D TRANSFORMATION [TRANSFORMATION ...]] [-v] [-vv]
input_file
pytest: error: unrecognized arguments: -F
_______________________________________________________________________________ test session _______________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.. at 0x7fa99398b280>, when = 'call'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

@classmethod
def from_call(
    cls,
    func: "Callable[[], TResult]",
    when: "Literal['collect', 'setup', 'call', 'teardown']",
    reraise: Optional[
        Union[Type[BaseException], Tuple[Type[BaseException], ...]]
    ] = None,
) -> "CallInfo[TResult]":
    """Call func, wrapping the result in a CallInfo.

    :param func:
        The function to call. Called without arguments.
    :param when:
        The phase in which the function is called.
    :param reraise:
        Exception or exceptions that shall propagate if raised by the
        function, instead of being wrapped in the CallInfo.
    """
    excinfo = None
    start = timing.time()
    precise_start = timing.perf_counter()
    try:
      result: Optional[TResult] = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:338:


  lambda: ihook(item=item, **kwds), when=when, reraise=reraise
)

/usr/lib/python3.8/site-packages/_pytest/runner.py:259:


self = <_HookCaller 'pytest_runtest_call'>, args = (), kwargs = {'item': }, argname = 'item', firstresult = False

def __call__(self, *args, **kwargs):
    if args:
        raise TypeError("hook calling supports only keyword arguments")
    assert not self.is_historic()

    # This is written to avoid expensive operations when not needed.
    if self.spec:
        for argname in self.spec.argnames:
            if argname not in kwargs:
                notincall = tuple(set(self.spec.argnames) - kwargs.keys())
                warnings.warn(
                    "Argument(s) {} which are declared in the hookspec "
                    "can not be found in this hook call".format(notincall),
                    stacklevel=2,
                )
                break

        firstresult = self.spec.opts.get("firstresult")
    else:
        firstresult = False
  return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)

/usr/lib/python3.8/site-packages/pluggy/_hooks.py:265:


self = <_pytest.config.PytestPluginManager object at 0x7fa995f9cbb0>, hook_name = 'pytest_runtest_call'
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...in=<module '_pytest.unraisableexception' from '/usr/lib/python3.8/site-packages/_pytest/unraisableexception.py'>>, ...]
kwargs = {'item': }, firstresult = False

def _hookexec(self, hook_name, methods, kwargs, firstresult):
    # called from all hookcaller instances.
    # enable_tracing will set its own wrapping function at self._inner_hookexec
  return self._inner_hookexec(hook_name, methods, kwargs, firstresult)

/usr/lib/python3.8/site-packages/pluggy/_manager.py:80:


hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...in=<module '_pytest.unraisableexception' from '/usr/lib/python3.8/site-packages/_pytest/unraisableexception.py'>>, ...]
caller_kwargs = {'item': }, firstresult = False

def _multicall(hook_name, hook_impls, caller_kwargs, firstresult):
    """Execute a call into multiple python functions/methods and return the
    result(s).

    ``caller_kwargs`` comes from _HookCaller.__call__().
    """
    __tracebackhide__ = True
    results = []
    excinfo = None
    try:  # run impl and wrapper setup functions in a loop
        teardowns = []
        try:
            for hook_impl in reversed(hook_impls):
                try:
                    args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                except KeyError:
                    for argname in hook_impl.argnames:
                        if argname not in caller_kwargs:
                            raise HookCallError(
                                f"hook call must provide argument {argname!r}"
                            )

                if hook_impl.hookwrapper:
                    try:
                        gen = hook_impl.function(*args)
                        next(gen)  # first yield
                        teardowns.append(gen)
                    except StopIteration:
                        _raise_wrapfail(gen, "did not yield")
                else:
                    res = hook_impl.function(*args)
                    if res is not None:
                        results.append(res)
                        if firstresult:  # halt further impl calls
                            break
        except BaseException:
            excinfo = sys.exc_info()
    finally:
        if firstresult:  # first result hooks return a single value
            outcome = _Result(results[0] if results else None, excinfo)
        else:
            outcome = _Result(results, excinfo)

        # run all wrapper post-yield blocks
        for gen in reversed(teardowns):
            try:
                gen.send(outcome)
                _raise_wrapfail(gen, "has second yield")
            except StopIteration:
                pass
      return outcome.get_result()

/usr/lib/python3.8/site-packages/pluggy/_callers.py:60:


self = <pluggy._result._Result object at 0x7fa9938127c0>

def get_result(self):
    """Get the result(s) for this hook call.

    If the hook was marked as a ``firstresult`` only a single value
    will be returned otherwise a list of results.
    """
    __tracebackhide__ = True
    if self._excinfo is None:
        return self._result
    else:
        ex = self._excinfo
      raise ex[1].with_traceback(ex[2])

/usr/lib/python3.8/site-packages/pluggy/_result.py:60:


hook_name = 'pytest_runtest_call'
hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from '/usr/lib/python3.8/site-packages/_pytest/runner...in=<module '_pytest.unraisableexception' from '/usr/lib/python3.8/site-packages/_pytest/unraisableexception.py'>>, ...]
caller_kwargs = {'item': }, firstresult = False

def _multicall(hook_name, hook_impls, caller_kwargs, firstresult):
    """Execute a call into multiple python functions/methods and return the
    result(s).

    ``caller_kwargs`` comes from _HookCaller.__call__().
    """
    __tracebackhide__ = True
    results = []
    excinfo = None
    try:  # run impl and wrapper setup functions in a loop
        teardowns = []
        try:
            for hook_impl in reversed(hook_impls):
                try:
                    args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                except KeyError:
                    for argname in hook_impl.argnames:
                        if argname not in caller_kwargs:
                            raise HookCallError(
                                f"hook call must provide argument {argname!r}"
                            )

                if hook_impl.hookwrapper:
                    try:
                        gen = hook_impl.function(*args)
                        next(gen)  # first yield
                        teardowns.append(gen)
                    except StopIteration:
                        _raise_wrapfail(gen, "did not yield")
                else:
                  res = hook_impl.function(*args)

/usr/lib/python3.8/site-packages/pluggy/_callers.py:39:


item =

def pytest_runtest_call(item: Item) -> None:
    _update_current_test_var(item, "call")
    try:
        del sys.last_type
        del sys.last_value
        del sys.last_traceback
    except AttributeError:
        pass
    try:
        item.runtest()
    except Exception as e:
        # Store trace info to allow postmortem debugging
        sys.last_type = type(e)
        sys.last_value = e
        assert e.__traceback__ is not None
        # Skip *this* frame
        sys.last_traceback = e.__traceback__.tb_next
      raise e

/usr/lib/python3.8/site-packages/_pytest/runner.py:174:


item =

def pytest_runtest_call(item: Item) -> None:
    _update_current_test_var(item, "call")
    try:
        del sys.last_type
        del sys.last_value
        del sys.last_traceback
    except AttributeError:
        pass
    try:
      item.runtest()

/usr/lib/python3.8/site-packages/_pytest/runner.py:166:


self =

def runtest(self):
    desc = self.get_long_description()
    method_name = f"run_{re.sub('[-/]', '_', desc.content_type)}"
  getattr(self, method_name)(desc)

E AttributeError: 'CheckdocsItem' object has no attribute 'run_text_x_rst; charset=UTF_8'

/usr/lib/python3.8/site-packages/pytest_checkdocs/init.py:42: AttributeError

---------- coverage: platform linux, python 3.8.13-final-0 -----------
Name Stmts Miss Branch BrPart Cover Missing

src/ini2toml/init.py 5 0 0 0 100%
src/ini2toml/base_translator.py 61 0 18 1 99% 137->136
src/ini2toml/cli.py 109 5 45 1 96% 89-98, 202
src/ini2toml/drivers/init.py 0 0 0 0 100%
src/ini2toml/drivers/configparser.py 19 0 6 0 100%
src/ini2toml/drivers/configupdater.py 42 0 18 0 100%
src/ini2toml/drivers/full_toml.py 185 9 97 8 93% 159, 203, 220->exit, 221->223, 228-229, 231->195, 257-260, 265
src/ini2toml/drivers/lite_toml.py 8 0 0 0 100%
src/ini2toml/drivers/plain_builtins.py 44 3 18 3 90% 64, 67-68, 71->58
src/ini2toml/errors.py 33 10 12 2 73% 31-34, 41, 48-49, 54, 61-62
src/ini2toml/intermediate_repr.py 160 3 74 3 97% 214-215, 239->exit, 259->261, 288
src/ini2toml/plugins/init.py 27 1 14 2 93% 35, 85->88
src/ini2toml/plugins/best_effort.py 42 1 16 1 97% 60
src/ini2toml/plugins/coverage.py 30 0 12 0 100%
src/ini2toml/plugins/isort.py 34 0 12 0 100%
src/ini2toml/plugins/mypy.py 53 2 24 3 94% 43, 73, 74->exit
src/ini2toml/plugins/profile_independent_tasks.py 29 0 4 0 100%
src/ini2toml/plugins/pytest.py 33 0 16 0 100%
src/ini2toml/plugins/setuptools_pep621.py 392 7 195 7 98% 276, 310, 546, 738, 748-749, 755, 783->781, 789->794, 797->783
src/ini2toml/profile.py 30 0 6 0 100%
src/ini2toml/transformations.py 128 4 48 3 95% 155, 228, 368, 376
src/ini2toml/translator.py 17 0 2 0 100%
src/ini2toml/types.py 36 0 8 0 100%

TOTAL 1517 45 645 34 96%

========================================================================= short test summary info ==========================================================================
ERROR tests/test_examples.py::test_examples_api[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or dire...
ERROR tests/test_examples.py::test_examples_api[tests/examples/flask/setup.cfg-tests/examples/flask/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or direct...
ERROR tests/test_examples.py::test_examples_api[tests/examples/pandas/setup.cfg-tests/examples/pandas/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or dire...
ERROR tests/test_examples.py::test_examples_api[tests/examples/pluggy/setup.cfg-tests/examples/pluggy/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or dire...
ERROR tests/test_examples.py::test_examples_api[tests/examples/plumbum/setup.cfg-tests/examples/plumbum/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or di...
ERROR tests/test_examples.py::test_examples_api[tests/examples/pyscaffold/setup.cfg-tests/examples/pyscaffold/pyproject.toml] - FileNotFoundError: [Errno 2] No such file...
ERROR tests/test_examples.py::test_examples_api[tests/examples/setuptools_docs/setup.cfg-tests/examples/setuptools_docs/pyproject.toml] - FileNotFoundError: [Errno 2] No...
ERROR tests/test_examples.py::test_examples_api[tests/examples/setuptools_scm/setup.cfg-tests/examples/setuptools_scm/pyproject.toml] - FileNotFoundError: [Errno 2] No s...
ERROR tests/test_examples.py::test_examples_api[tests/examples/virtualenv/setup.cfg-tests/examples/virtualenv/pyproject.toml] - FileNotFoundError: [Errno 2] No such file...
ERROR tests/test_examples.py::test_examples_api[tests/examples/zipp/setup.cfg-tests/examples/zipp/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or director...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/flask/setup.cfg-tests/examples/flask/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or d...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/pandas/setup.cfg-tests/examples/pandas/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/pluggy/setup.cfg-tests/examples/pluggy/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/plumbum/setup.cfg-tests/examples/plumbum/pyproject.toml] - FileNotFoundError: [Errno 2] No such file ...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/pyscaffold/setup.cfg-tests/examples/pyscaffold/pyproject.toml] - FileNotFoundError: [Errno 2] No such...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/setuptools_docs/setup.cfg-tests/examples/setuptools_docs/pyproject.toml] - FileNotFoundError: [Errno ...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/setuptools_scm/setup.cfg-tests/examples/setuptools_scm/pyproject.toml] - FileNotFoundError: [Errno 2]...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/virtualenv/setup.cfg-tests/examples/virtualenv/pyproject.toml] - FileNotFoundError: [Errno 2] No such...
ERROR tests/test_examples.py::test_examples_api_lite[tests/examples/zipp/setup.cfg-tests/examples/zipp/pyproject.toml] - FileNotFoundError: [Errno 2] No such file or dir...
FAILED tests/test_cli.py::test_auto_formatting - SystemExit: 2
FAILED ::project - AttributeError: 'CheckdocsItem' object has no attribute 'run_text_x_rst; charset=UTF_8'
================================================================= 2 failed, 65 passed, 20 errors in 14.29s =================================================================

</details>

Pulling metadata out of setup.py

I love this tool because it greatly simplifies the migration into pyproject.toml. One problem that remains in these conversions is migrating the metadata from setup.py files. Is there some tool that would migrate setup.py metadataintosetup.cfgthat could act as a preprocess before doing an ini2toml migration? The goal of these PEPs is to have a minimal or preferably nosetup.py` file so migrating this metadata is key.

Perhaps https://github.com/gvalkov/setuptools-py2cfg

AttributeError: 'bool' object has no attribute 'splitlines'

I'm packaging ini2toml 0.12 for OpenIndiana. I ran tests and I found that three tests fails:

=========================== short test summary info ============================
FAILED tests/test_examples.py::test_examples_api_lite[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml]
FAILED tests/test_examples.py::test_examples_api[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml]
FAILED tests/test_examples.py::test_examples_cli[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml]

All failures are similar:

_ test_examples_api_lite[tests/examples/django/setup.cfg-tests/examples/django/pyproject.toml] _

original = 'tests/examples/django/setup.cfg'
expected = 'tests/examples/django/pyproject.toml'
validate = <validate_pyproject.api.Validator object at 0x7fffa8059d30>

    @pytest.mark.filterwarnings("ignore::DeprecationWarning")
    @pytest.mark.parametrize(("original", "expected"), list(examples()))
    def test_examples_api_lite(original, expected, validate):
        opts = {"ini_loads_fn": configparser.parse, "toml_dumps_fn": lite_toml.convert}
        translator = Translator(**opts)
        available_profiles = list(translator.profiles.keys())
        profile = cli.guess_profile(None, original, available_profiles)
        # We cannot compare "flake8" sections (currently not handled)
        # (ConfigParser automatically strips comments, contrary to ConfigUpdater)
        orig = Path(original)

        # Make sure file ends in a newline (requirement for posix text files)
>       translated = translator.translate(orig.read_text(encoding="utf-8"), profile)

tests/test_examples.py:75:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/base_translator.py:154: in translate
    irepr = reduce(apply, profile.intermediate_processors, irepr)
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/transformations.py:325: in apply
    return fn(x)
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/plugins/setuptools_pep621.py:663: in pep621_transform
    out = reduce(apply, transformations, out)
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/transformations.py:325: in apply
    return fn(x)
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/plugins/setuptools_pep621.py:588: in parse_setup_py_command_options
    section = self._be.apply_best_effort_to_section(doc[k])
../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/plugins/best_effort.py:47: in apply_best_effort_to_section
    self.apply_best_effort(section, field, value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <ini2toml.plugins.best_effort.BestEffort object at 0x7fffa7de0e50>
container = IntermediateRepr(
    elements={'combine_as_imports': True,
     'default_section': 'THIRDPARTY',
     'include_traili...clude_trailing_comma',
     'known_first_party',
     'line_length',
     'multi_line_output'],
    inline_comment=''
)
field = 'combine_as_imports', value = True

    def apply_best_effort(self, container: M, field: str, value: str):
        if isinstance(field, HiddenKey):
            return
>       lines = value.splitlines()
E       AttributeError: 'bool' object has no attribute 'splitlines'

../prototype/i386/usr/lib/python3.9/vendor-packages/ini2toml/plugins/best_effort.py:53: AttributeError

Please note there is no django installed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.