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.
- datakit_all-0.4.0/.editorconfig +21 -0
- datakit_all-0.4.0/.github/workflows/main.yml +25 -0
- datakit_all-0.4.0/.gitignore +60 -0
- datakit_all-0.4.0/HISTORY.rst +11 -0
- datakit_all-0.4.0/LICENSE +15 -0
- datakit_all-0.4.0/Makefile +45 -0
- datakit_all-0.4.0/PKG-INFO +23 -0
- datakit_all-0.4.0/README.rst +66 -0
- datakit_all-0.4.0/pyproject.toml +53 -0
- datakit_all-0.4.0/setup.cfg +9 -0
|
@@ -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')"]]
|