oxpull 0.0.1__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.
- oxpull-0.0.1/.github/workflows/release.yml +64 -0
- oxpull-0.0.1/.gitignore +3 -0
- oxpull-0.0.1/PKG-INFO +35 -0
- oxpull-0.0.1/README.md +17 -0
- oxpull-0.0.1/pyproject.toml +28 -0
- oxpull-0.0.1/src/oxpull/__init__.py +23 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
# Dry run: everything except the upload, so the workflow is not exercised
|
|
7
|
+
# for the first time by a tag. A release is permanent.
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v7
|
|
15
|
+
- uses: actions/setup-python@v7
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.12"
|
|
18
|
+
- run: python -m pip install build twine
|
|
19
|
+
# The tag must match the declared version. PyPI metadata cannot be
|
|
20
|
+
# edited after upload, so this is the last point where a mismatch is
|
|
21
|
+
# still cheap to fix.
|
|
22
|
+
- name: Check the tag matches the declared version
|
|
23
|
+
run: |
|
|
24
|
+
set -euo pipefail
|
|
25
|
+
declared=$(python -c "import tomllib;print(tomllib.load(open('pyproject.toml','rb'))['project']['version'])")
|
|
26
|
+
echo "declared version: ${declared}"
|
|
27
|
+
if [ "${GITHUB_REF_TYPE}" = "tag" ]; then
|
|
28
|
+
tag="${GITHUB_REF_NAME#v}"
|
|
29
|
+
if [ "${tag}" != "${declared}" ]; then
|
|
30
|
+
echo "::error::tag ${GITHUB_REF_NAME} does not match version ${declared}"
|
|
31
|
+
exit 1
|
|
32
|
+
fi
|
|
33
|
+
fi
|
|
34
|
+
- run: python -m build
|
|
35
|
+
- run: twine check --strict dist/*
|
|
36
|
+
- uses: actions/upload-artifact@v7
|
|
37
|
+
with:
|
|
38
|
+
name: dist
|
|
39
|
+
path: dist/
|
|
40
|
+
|
|
41
|
+
publish:
|
|
42
|
+
needs: build
|
|
43
|
+
runs-on: ubuntu-latest
|
|
44
|
+
environment: pypi
|
|
45
|
+
permissions:
|
|
46
|
+
id-token: write
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/download-artifact@v8
|
|
49
|
+
with:
|
|
50
|
+
name: dist
|
|
51
|
+
path: dist/
|
|
52
|
+
- name: Verify the artifact arrived intact
|
|
53
|
+
run: |
|
|
54
|
+
set -euo pipefail
|
|
55
|
+
ls -l dist/
|
|
56
|
+
test -n "$(find dist -name '*.whl' -print -quit)" || {
|
|
57
|
+
echo "::error::no wheel in the downloaded artifact"; exit 1; }
|
|
58
|
+
test -n "$(find dist -name '*.tar.gz' -print -quit)" || {
|
|
59
|
+
echo "::error::no sdist in the downloaded artifact"; exit 1; }
|
|
60
|
+
python -m pip install --upgrade pip twine
|
|
61
|
+
python -m twine check --strict dist/*
|
|
62
|
+
- name: Publish to PyPI
|
|
63
|
+
if: github.ref_type == 'tag'
|
|
64
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
oxpull-0.0.1/.gitignore
ADDED
oxpull-0.0.1/PKG-INFO
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: oxpull
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: Name reservation for the commercial tier of django-ox. The distributed package is not published here.
|
|
5
|
+
Project-URL: Homepage, https://oxpull.github.io
|
|
6
|
+
Project-URL: Documentation, https://oxpull.github.io/django-ox/
|
|
7
|
+
Project-URL: Source, https://github.com/oxpull/django-ox
|
|
8
|
+
Author: Oxpull
|
|
9
|
+
License-Expression: BSD-3-Clause
|
|
10
|
+
Keywords: background-tasks,django,task-queue,tasks,worker
|
|
11
|
+
Classifier: Development Status :: 1 - Planning
|
|
12
|
+
Classifier: Framework :: Django
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Requires-Python: >=3.12
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
|
|
19
|
+
# Oxpull
|
|
20
|
+
|
|
21
|
+
The `oxpull` name on PyPI is reserved by Oxpull, the maintainers of
|
|
22
|
+
[django-ox](https://pypi.org/project/django-ox/).
|
|
23
|
+
|
|
24
|
+
The open source worker backend is **django-ox**. Install that:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
pip install django-ox
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Oxpull Pro is distributed from a licensed package index rather than from PyPI,
|
|
31
|
+
so the distribution published here is a placeholder and contains no
|
|
32
|
+
functionality. Holding the name means that `pip install oxpull` against a
|
|
33
|
+
misconfigured index cannot resolve to somebody else's code.
|
|
34
|
+
|
|
35
|
+
Documentation: <https://oxpull.github.io/django-ox/>
|
oxpull-0.0.1/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Oxpull
|
|
2
|
+
|
|
3
|
+
The `oxpull` name on PyPI is reserved by Oxpull, the maintainers of
|
|
4
|
+
[django-ox](https://pypi.org/project/django-ox/).
|
|
5
|
+
|
|
6
|
+
The open source worker backend is **django-ox**. Install that:
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
pip install django-ox
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Oxpull Pro is distributed from a licensed package index rather than from PyPI,
|
|
13
|
+
so the distribution published here is a placeholder and contains no
|
|
14
|
+
functionality. Holding the name means that `pip install oxpull` against a
|
|
15
|
+
misconfigured index cannot resolve to somebody else's code.
|
|
16
|
+
|
|
17
|
+
Documentation: <https://oxpull.github.io/django-ox/>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "oxpull"
|
|
7
|
+
version = "0.0.1"
|
|
8
|
+
description = "Name reservation for the commercial tier of django-ox. The distributed package is not published here."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.12"
|
|
11
|
+
license = "BSD-3-Clause"
|
|
12
|
+
authors = [{ name = "Oxpull" }]
|
|
13
|
+
keywords = ["django", "tasks", "background-tasks", "task-queue", "worker"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 1 - Planning",
|
|
16
|
+
"Framework :: Django",
|
|
17
|
+
"Intended Audience :: Developers",
|
|
18
|
+
"License :: OSI Approved :: BSD License",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[project.urls]
|
|
23
|
+
Homepage = "https://oxpull.github.io"
|
|
24
|
+
Documentation = "https://oxpull.github.io/django-ox/"
|
|
25
|
+
Source = "https://github.com/oxpull/django-ox"
|
|
26
|
+
|
|
27
|
+
[tool.hatch.build.targets.wheel]
|
|
28
|
+
packages = ["src/oxpull"]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Placeholder for the Oxpull commercial package.
|
|
2
|
+
|
|
3
|
+
Oxpull Pro is distributed from a licensed package index, not from PyPI. This
|
|
4
|
+
distribution holds the name so that an install against a misconfigured index
|
|
5
|
+
resolves here and fails loudly, rather than resolving to an unrelated package.
|
|
6
|
+
|
|
7
|
+
Installing django-ox is what most people want:
|
|
8
|
+
|
|
9
|
+
pip install django-ox
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
__version__ = "0.0.1"
|
|
13
|
+
|
|
14
|
+
_MESSAGE = (
|
|
15
|
+
"The 'oxpull' package on PyPI is a name placeholder and provides no "
|
|
16
|
+
"functionality. The open source worker backend is 'django-ox' "
|
|
17
|
+
"(pip install django-ox). Oxpull Pro is distributed from a licensed "
|
|
18
|
+
"package index. See https://oxpull.github.io/django-ox/"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def __getattr__(name: str) -> object:
|
|
23
|
+
raise AttributeError(_MESSAGE)
|