datakit-all 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ # http://editorconfig.org
2
+
3
+ root = true
4
+
5
+ [*]
6
+ indent_style = space
7
+ indent_size = 4
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+ end_of_line = lf
12
+
13
+ [*.bat]
14
+ indent_style = tab
15
+ end_of_line = crlf
16
+
17
+ [LICENSE]
18
+ insert_final_newline = false
19
+
20
+ [Makefile]
21
+ indent_style = tab
@@ -0,0 +1,25 @@
1
+ name: build
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ pull_request:
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+ - name: Install uv
17
+ uses: astral-sh/setup-uv@v3
18
+ with:
19
+ python-version: ${{ matrix.python-version }}
20
+ - name: Build the metapackage
21
+ run: uv build
22
+ - name: Install and verify the bundle resolves
23
+ run: |
24
+ uv pip install --system dist/*.whl
25
+ datakit --help
@@ -0,0 +1,60 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ .python-version
3
+ __pycache__/
4
+ *.py[cod]
5
+ *$py.class
6
+
7
+ # C extensions
8
+ *.so
9
+
10
+ # Distribution / packaging
11
+ .Python
12
+ env/
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ # PyInstaller
29
+ # Usually these files are written by a python script from a template
30
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
31
+ *.manifest
32
+ *.spec
33
+
34
+ # Installer logs
35
+ pip-log.txt
36
+ pip-delete-this-directory.txt
37
+
38
+ # Unit test / coverage reports
39
+ htmlcov/
40
+ .tox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *,cover
47
+ .hypothesis/
48
+
49
+ # Translations
50
+ *.mo
51
+ *.pot
52
+
53
+ # Django stuff:
54
+ *.log
55
+
56
+ # Sphinx documentation
57
+ docs/_build/
58
+
59
+ # PyBuilder
60
+ target/
@@ -0,0 +1,11 @@
1
+ =======
2
+ History
3
+ =======
4
+
5
+ 0.4.0 (2026-07-02)
6
+ ------------------
7
+
8
+ * First release of the ``datakit-all`` bundle metapackage.
9
+ * Installs ``datakit-core`` plus the standard AP plugin set
10
+ (``datakit-project``, ``datakit-data``, ``datakit-github``, ``datakit-gitlab``)
11
+ so ``uv tool install datakit-all`` provides the full CLI in one step.
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2016 2017, Associated Press
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14
+ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,45 @@
1
+ .PHONY: clean clean-build clean-pyc dist check-release test-release release install help
2
+ .DEFAULT_GOAL := help
3
+
4
+ define PRINT_HELP_PYSCRIPT
5
+ import re, sys
6
+
7
+ for line in sys.stdin:
8
+ match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
9
+ if match:
10
+ target, help = match.groups()
11
+ print("%-20s %s" % (target, help))
12
+ endef
13
+ export PRINT_HELP_PYSCRIPT
14
+
15
+ help:
16
+ @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
17
+
18
+ clean: clean-build clean-pyc ## remove all build and Python artifacts
19
+
20
+ clean-build: ## remove build artifacts
21
+ rm -fr build/
22
+ rm -fr dist/
23
+ rm -fr .eggs/
24
+ find . -name '*.egg-info' -exec rm -fr {} +
25
+ find . -name '*.egg' -exec rm -f {} +
26
+
27
+ clean-pyc: ## remove Python file artifacts
28
+ find . -name '*.pyc' -exec rm -f {} +
29
+ find . -name '__pycache__' -exec rm -fr {} +
30
+
31
+ dist: clean ## build source and wheel package
32
+ uv build
33
+ ls -l dist
34
+
35
+ check-release: dist ## check release for potential errors
36
+ uv publish --dry-run dist/*
37
+
38
+ test-release: clean dist ## release distros to test.pypi.org
39
+ uv publish --publish-url https://test.pypi.org/legacy/ dist/*
40
+
41
+ release: clean dist ## package and upload a release
42
+ uv publish dist/*
43
+
44
+ install: clean ## install the bundle into the active environment
45
+ uv pip install .
@@ -0,0 +1,23 @@
1
+ Metadata-Version: 2.4
2
+ Name: datakit-all
3
+ Version: 0.4.0
4
+ Summary: The datakit CLI bundled with the standard AP Data Team plugin set.
5
+ Project-URL: Homepage, https://github.com/associatedpress/datakit-all
6
+ Project-URL: Source, https://github.com/associatedpress/datakit-all
7
+ Project-URL: Tracker, https://github.com/associatedpress/datakit-all/issues
8
+ Author-email: Larry Fenn <lfenn@ap.org>
9
+ License: ISC
10
+ License-File: LICENSE
11
+ Keywords: datakit
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: ISC License (ISCL)
16
+ Classifier: Natural Language :: English
17
+ Classifier: Programming Language :: Python :: 3
18
+ Requires-Python: >=3.10
19
+ Requires-Dist: datakit-core>=0.4.0
20
+ Requires-Dist: datakit-data>=0.6.3
21
+ Requires-Dist: datakit-github>=0.2.1
22
+ Requires-Dist: datakit-gitlab>=0.6.0
23
+ Requires-Dist: datakit-project>=0.4.0
@@ -0,0 +1,66 @@
1
+ .. image:: https://img.shields.io/pypi/v/datakit-all.svg
2
+ :target: https://pypi.python.org/pypi/datakit-all
3
+
4
+ ===========
5
+ Datakit-all
6
+ ===========
7
+
8
+ This is the **bundle** distribution for Datakit: a metapackage that installs
9
+ the `datakit` command-line tool together with the Associated Press Data Team's
10
+ standard set of plugins.
11
+
12
+ Datakit is a pluggable command-line tool for managing the life cycle of data
13
+ projects. The core (``datakit-core``) is a thin wrapper around the Cliff_
14
+ framework; every command is provided by a plugin discovered through the
15
+ ``datakit.plugins`` entry point.
16
+
17
+ This package pulls the following into a single environment:
18
+
19
+ - datakit-core_ — the ``datakit`` CLI itself
20
+ - datakit-project_ — ``project create`` / ``project templates``
21
+ - datakit-data_ — ``data init`` / ``push`` / ``pull`` / ``status``
22
+ - datakit-github_ — ``github integrate``
23
+ - datakit-gitlab_ — ``gitlab integrate`` / ``gitlab issues add``
24
+
25
+ Installation
26
+ ============
27
+
28
+ The recommended install is as an isolated tool with uv_::
29
+
30
+ $ uv tool install datakit-all
31
+
32
+ This gives you the CLI and every standard command in one step::
33
+
34
+ $ datakit --help
35
+
36
+ You can also install it into a regular environment with pip::
37
+
38
+ $ pip install datakit-all
39
+
40
+ Curated installs
41
+ ================
42
+
43
+ If you only want a subset of plugins, skip this bundle and install the core
44
+ plus just the plugins you need. With uv::
45
+
46
+ $ uv tool install datakit-core --with datakit-project --with datakit-data
47
+
48
+ Or run one off without a persistent install::
49
+
50
+ $ uvx --with datakit-project datakit project create
51
+
52
+ Versioning
53
+ ==========
54
+
55
+ This bundle is a *release train*: its version tracks the recommended
56
+ combination of plugins, not the version of any single component. Each
57
+ dependency is pinned with a lower bound, so ``uv tool upgrade datakit`` will
58
+ pick up newer compatible plugin releases.
59
+
60
+ .. _Cliff: https://docs.openstack.org/cliff/
61
+ .. _uv: https://docs.astral.sh/uv/
62
+ .. _datakit-core: https://github.com/associatedpress/datakit-core
63
+ .. _datakit-project: https://github.com/associatedpress/datakit-project
64
+ .. _datakit-data: https://github.com/associatedpress/datakit-data
65
+ .. _datakit-github: https://github.com/associatedpress/datakit-github
66
+ .. _datakit-gitlab: https://github.com/associatedpress/datakit-gitlab
@@ -0,0 +1,53 @@
1
+ # NOTE: Unlike the other datakit-* repos, this package uses the `hatchling`
2
+ # build backend instead of `uv_build`. This is a metapackage: it ships no
3
+ # Python modules, only dependency metadata. `uv_build` expects a module to
4
+ # build; hatchling's `bypass-selection` lets us build an empty wheel.
5
+ [build-system]
6
+ requires = ["hatchling"]
7
+ build-backend = "hatchling.build"
8
+
9
+ [project]
10
+ name = "datakit-all"
11
+ version = "0.4.0"
12
+ description = "The datakit CLI bundled with the standard AP Data Team plugin set."
13
+ authors = [
14
+ {name = "Larry Fenn", email = "lfenn@ap.org"},
15
+ ]
16
+ license = {text = "ISC"}
17
+ keywords = ["datakit"]
18
+ requires-python = ">=3.10"
19
+ classifiers = [
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Environment :: Console",
22
+ "Intended Audience :: Developers",
23
+ "License :: OSI Approved :: ISC License (ISCL)",
24
+ "Natural Language :: English",
25
+ "Programming Language :: Python :: 3",
26
+ ]
27
+ # The whole point of this package: pull the datakit CLI plus the standard
28
+ # plugins into a single environment so `uv tool install datakit` just works.
29
+ # Each plugin registers its commands via the `datakit.plugins` entry-point
30
+ # group, so installing them together lights up every command under `datakit`.
31
+ dependencies = [
32
+ "datakit-core>=0.4.0",
33
+ "datakit-project>=0.4.0",
34
+ "datakit-data>=0.6.3",
35
+ "datakit-github>=0.2.1",
36
+ "datakit-gitlab>=0.6.0",
37
+ ]
38
+
39
+ [project.urls]
40
+ Homepage = "https://github.com/associatedpress/datakit-all"
41
+ Source = "https://github.com/associatedpress/datakit-all"
42
+ Tracker = "https://github.com/associatedpress/datakit-all/issues"
43
+
44
+ [tool.hatch.build.targets.wheel]
45
+ # Metapackage: no modules to include, just dependency metadata.
46
+ bypass-selection = true
47
+
48
+ [tool.tox]
49
+ env_list = ["py310", "py311", "py312", "py313"]
50
+
51
+ [tool.tox.env_run_base]
52
+ # No source or tests of our own; a successful build/install is the whole test.
53
+ commands = [["python", "-c", "import importlib.metadata as m; m.version('datakit-all')"]]
@@ -0,0 +1,9 @@
1
+ [bumpversion]
2
+ current_version = 0.4.0
3
+ commit = False
4
+ tag = False
5
+ tag_name = {new_version}
6
+
7
+ [bumpversion:file:pyproject.toml]
8
+ search = version = "{current_version}"
9
+ replace = version = "{new_version}"