From 8096d9922dc07d3efd6724b69182c075943ca29d Mon Sep 17 00:00:00 2001 From: Nico Jehle Date: Fri, 16 Aug 2024 10:02:51 +0000 Subject: [PATCH 1/5] dimclient: add pyproject.toml prepare for uploading to PyPI --- dimclient/pyproject.toml | 20 ++++++++++++++++++++ dimclient/setup.cfg | 2 -- dimclient/setup.py | 6 ------ 3 files changed, 20 insertions(+), 8 deletions(-) create mode 100644 dimclient/pyproject.toml delete mode 100644 dimclient/setup.cfg delete mode 100644 dimclient/setup.py diff --git a/dimclient/pyproject.toml b/dimclient/pyproject.toml new file mode 100644 index 00000000..edbde5fa --- /dev/null +++ b/dimclient/pyproject.toml @@ -0,0 +1,20 @@ +[project] +name = "dimclient" +version = "1.0.1" +maintainers = [ + { name = "zerimond" }, +] +description = "DNS and IP management Python library" +readme = "README.md" +requires-python = ">=3.6" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] + +[project.urls] +Homepage = "https://github.com/ionos-cloud/dim" +Issues = "https://github.com/ionos-cloud/dim/issues" diff --git a/dimclient/setup.cfg b/dimclient/setup.cfg deleted file mode 100644 index 700c19b7..00000000 --- a/dimclient/setup.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[easy_install] - diff --git a/dimclient/setup.py b/dimclient/setup.py deleted file mode 100644 index a68aca48..00000000 --- a/dimclient/setup.py +++ /dev/null @@ -1,6 +0,0 @@ -from setuptools import setup -from dimclient import version - -setup(name='dimclient', - version=version.VERSION, - packages=['dimclient']) From d86be4f8805712ff744cfe621852948285954490 Mon Sep 17 00:00:00 2001 From: Nico Jehle Date: Fri, 16 Aug 2024 11:52:20 +0000 Subject: [PATCH 2/5] ndcli: add pyproject.toml prepare for uploading to PyPI --- ndcli/pyproject.toml | 34 ++++++++++++++++++++++++++++++++++ ndcli/setup.py | 10 ---------- 2 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 ndcli/pyproject.toml delete mode 100644 ndcli/setup.py diff --git a/ndcli/pyproject.toml b/ndcli/pyproject.toml new file mode 100644 index 00000000..63a414fb --- /dev/null +++ b/ndcli/pyproject.toml @@ -0,0 +1,34 @@ +[project] +name = "dimclient-cli" +version = "5.0.2" +maintainers = [ + { name = "zerimond" }, +] +description = "DNS and IP management Python CLI client" +readme = "README.md" +dependencies = [ + "dimclient", + "python-dateutil>=1.4.1", + "dnspython>=1.12.0,!=2.2.0", +] +requires-python = ">=3.6" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: System Administrators", + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] + +[project.optional-dependencies] +docs = [ + "Sphinx~=4.4", + "hypothesis~=5.6.0", +] + +[project.scripts] +ndcli = "dimcli:main" + +[project.urls] +Homepage = "https://github.com/ionos-cloud/dim" +Issues = "https://github.com/ionos-cloud/dim/issues" diff --git a/ndcli/setup.py b/ndcli/setup.py deleted file mode 100644 index a3a4cfd9..00000000 --- a/ndcli/setup.py +++ /dev/null @@ -1,10 +0,0 @@ -from setuptools import setup -from dimcli import version - -setup(name='ndcli', - version=version.VERSION, - scripts=['ndcli'], - install_requires=['dimclient>=0.4.1', - 'python-dateutil', - 'dnspython'], - packages=['dimcli']) From 6c9943494c0c03c50e4734dcf2167292db0d9302 Mon Sep 17 00:00:00 2001 From: Nico Jehle Date: Mon, 9 Sep 2024 14:53:46 +0000 Subject: [PATCH 3/5] dim: add pyproject.toml and add dim command from #266 prepare for uploading to PyPI --- dim/dim/cli.py | 7 +++++++ dim/pyproject.toml | 52 ++++++++++++++++++++++++++++++++++++++++++++++ dim/setup.cfg | 6 ------ dim/setup.py | 8 ------- 4 files changed, 59 insertions(+), 14 deletions(-) create mode 100644 dim/dim/cli.py create mode 100644 dim/pyproject.toml delete mode 100644 dim/setup.cfg delete mode 100644 dim/setup.py diff --git a/dim/dim/cli.py b/dim/dim/cli.py new file mode 100644 index 00000000..4ca835b7 --- /dev/null +++ b/dim/dim/cli.py @@ -0,0 +1,7 @@ +import click +import dim +from flask.cli import FlaskGroup + +@click.group(cls=FlaskGroup, create_app=dim.create_app) +def cli(): + print("For output check your syslog output") diff --git a/dim/pyproject.toml b/dim/pyproject.toml new file mode 100644 index 00000000..7b3b66ea --- /dev/null +++ b/dim/pyproject.toml @@ -0,0 +1,52 @@ +[project] +name = "dimserver" +version = "5.0.2" +maintainers = [ + { name = "zerimond" }, +] +description = "DNS and IP management Python server" +requires-python = ">=3.9" +dependencies=[ + "mysqlclient>=1.4.6", + "SQLAlchemy~=1.4", + "ldap3~=2.9", + "Flask~=2.1", + "Flask-SQLAlchemy~=2.5", + "Jinja2~=3.1", + "dnspython~=2.1,!=2.2.0", + "requests~=2.27", + "pycryptodome~=3.14", + "gunicorn>=21", +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] + +[project.optional-dependencies] +docs = [ + "nose~=1.3", + "nose-ignore-docstring~=0.2", + "pytest~=7.1", + "pytest-cov~=3.0", + "Sphinx~=4.4", +] + +[project.urls] +Homepage = "https://github.com/ionos-cloud/dim" +Issues = "https://github.com/ionos-cloud/dim/issues" + +[project.scripts] +dim = "dim.cli:cli" + +[tool.setuptools.packages.find] +exclude = ["etc", "doc"] + +[tool.setuptools] +script-files = ["report", "manage_db", "manage_dim"] + +[tool.setuptools.package-data] +dim = ["sql/*.sql"] diff --git a/dim/setup.cfg b/dim/setup.cfg deleted file mode 100644 index cec53eb6..00000000 --- a/dim/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[versioneer] -VCS = git -style = git-describe -versionfile_source = dim/_version.py -versionfile_build = dim/_version.py -tag_prefix = diff --git a/dim/setup.py b/dim/setup.py deleted file mode 100644 index 13d15440..00000000 --- a/dim/setup.py +++ /dev/null @@ -1,8 +0,0 @@ -from distutils.core import setup -from dim import version - -setup(name='dim', - version=version.VERSION, - packages=['dim', 'dim.models'], - package_data={'dim': ['sql/*.sql']}, - scripts=['report', 'manage_db', 'manage_dim']) From 2f252f89abe680c051a50df6a9c648189631051e Mon Sep 17 00:00:00 2001 From: Nico Jehle Date: Mon, 9 Sep 2024 15:29:37 +0000 Subject: [PATCH 4/5] dim-testsuit: add target to install non-editable dev dependencies work around issue on old pip: `ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /__w/dim/dim/dim`, we do not need editable anyway --- .github/workflows/run_tests.yml | 2 +- dim-testsuite/Makefile | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 9076f056..336106a0 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -36,7 +36,7 @@ jobs: - name: Check out repository code uses: actions/checkout@v3 - name: Prepare virtual environment - run: make install-dev + run: make install-test working-directory: dim-testsuite - name: Create DIM configuration directory run: mkdir -p /etc/dim diff --git a/dim-testsuite/Makefile b/dim-testsuite/Makefile index f57226ee..0d4345a5 100644 --- a/dim-testsuite/Makefile +++ b/dim-testsuite/Makefile @@ -49,6 +49,10 @@ install-dev: install-deps-local-editable ${VPIP} install -r ../dim/requirements-dev.txt ${VPIP} install -r ../ndcli/requirements-dev.txt +install-test: install + ${VPIP} install -r ../dim/requirements-dev.txt + ${VPIP} install -r ../ndcli/requirements-dev.txt + db-clear: FLASK_APP=${FLASK_APP} ${VDIR}/bin/flask db clear From c20aa10f2e2e57d75a46945bb0185c904d40ef1f Mon Sep 17 00:00:00 2001 From: Nico Jehle Date: Mon, 9 Sep 2024 16:24:34 +0000 Subject: [PATCH 5/5] dim: update pyproject.toml to include etc files include required files; report file is needed by the report command --- dim/pyproject.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dim/pyproject.toml b/dim/pyproject.toml index 7b3b66ea..4ad3f2d0 100644 --- a/dim/pyproject.toml +++ b/dim/pyproject.toml @@ -43,10 +43,11 @@ Issues = "https://github.com/ionos-cloud/dim/issues" dim = "dim.cli:cli" [tool.setuptools.packages.find] -exclude = ["etc", "doc"] +exclude = ["doc", "etc"] + [tool.setuptools] script-files = ["report", "manage_db", "manage_dim"] [tool.setuptools.package-data] -dim = ["sql/*.sql"] +dim = ["sql/*.sql", "../etc/*"]