autopub 1.0.0a20__tar.gz → 1.0.0a22__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ Metadata-Version: 2.1
2
+ Name: autopub
3
+ Version: 1.0.0a22
4
+ Summary: Automatic package release upon pull request merge
5
+ Home-page: https://github.com/autopub/autopub
6
+ Author: Justin Mayer
7
+ Author-email: entroP@gmail.com
8
+ Requires-Python: >=3.9.0,<4.0
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Provides-Extra: github
16
+ Requires-Dist: dunamai (>=1.23.0,<2.0.0)
17
+ Requires-Dist: pydantic (>=2.10.5,<3.0.0)
18
+ Requires-Dist: python-frontmatter (>=1.1.0,<2.0.0)
19
+ Requires-Dist: rich (>=13.9.4,<14.0.0)
20
+ Requires-Dist: tomlkit (>=0.13.2,<0.14.0)
21
+ Project-URL: Issue Tracker, https://github.com/autopub/autopub/issues
22
+ Project-URL: Repository, https://github.com/autopub/autopub
@@ -0,0 +1,34 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+
5
+ from autopub.plugins import AutopubPackageManagerPlugin, AutopubPlugin
6
+
7
+
8
+ class UvPlugin(AutopubPlugin, AutopubPackageManagerPlugin):
9
+ def build(self) -> None:
10
+ self.run_command(["uv", "build"])
11
+
12
+ def publish(self, repository: str | None = None, **kwargs: Any) -> None:
13
+ additional_args: list[str] = []
14
+
15
+ if repository:
16
+ raise ValueError("Not yet implemented")
17
+
18
+ if publish_url := kwargs.get("publish_url"):
19
+ additional_args.append("--publish-url")
20
+ additional_args.append(publish_url)
21
+
22
+ if username := kwargs.get("username"):
23
+ additional_args.append("--username")
24
+ additional_args.append(username)
25
+
26
+ if password := kwargs.get("password"):
27
+ additional_args.append("--password")
28
+ additional_args.append(password)
29
+
30
+ if token := kwargs.get("token"):
31
+ additional_args.append("--token")
32
+ additional_args.append(token)
33
+
34
+ self.run_command(["uv", "publish", *additional_args])
@@ -1,15 +1,15 @@
1
1
  [project]
2
- requires-python = ">=3.8"
3
-
4
- [tool.poetry]
2
+ requires-python = ">=3.9.0,<4.0"
3
+ version = "1.0.0-alpha.22"
5
4
  name = "autopub"
6
- version = "1.0.0-alpha.20"
7
5
  description = "Automatic package release upon pull request merge"
8
- authors = ["Justin Mayer <entroP@gmail.com>", "Patrick Arminio <patrick.arminio@gmail.com>"]
6
+ authors = [
7
+ { name = "Justin Mayer", email = "entroP@gmail.com" },
8
+ { name = "Patrick Arminio", email = "patrick.arminio@gmail.com" },
9
+ ]
9
10
  license = "AGPL-3.0"
10
11
  readme = "README.md"
11
12
  keywords = ["automatic", "packaging", "publish", "release", "version"]
12
- repository = "https://github.com/autopub/autopub"
13
13
 
14
14
  classifiers = [
15
15
  "Development Status :: 4 - Beta",
@@ -21,36 +21,41 @@ classifiers = [
21
21
  "Topic :: System :: Systems Administration",
22
22
  ]
23
23
 
24
+ [tool.poetry]
25
+ repository = "https://github.com/autopub/autopub"
24
26
  include = ["autopub/py.typed"]
25
-
27
+ name = "autopub"
28
+ version = "1.0.0-alpha.22"
29
+ description = "Automatic package release upon pull request merge"
30
+ authors = [
31
+ "Justin Mayer <entroP@gmail.com>",
32
+ "Patrick Arminio <patrick.arminio@gmail.com>",
33
+ ]
26
34
 
27
35
  [tool.poetry.urls]
28
36
  "Issue Tracker" = "https://github.com/autopub/autopub/issues"
29
37
 
30
38
  [tool.poetry.dependencies]
31
- python = "^3.8"
32
- tomlkit = ">= 0.5, < 2.0"
33
- githubrelease = {version = "^1.5.9", optional = true}
34
- httpx = {version = "=0.16.1", optional = true}
35
- typer = "^0.9.0"
36
- rich = "^12.5.1"
37
- python-frontmatter = "^1.0.0"
38
- build = "^0.10.0"
39
- twine = "^4.0.2"
40
- dunamai = "^1.17.0"
41
- time-machine = "^2.13.0"
42
- pydantic = ">=2"
39
+ python = ">=3.9.0,<4.0"
40
+ python-frontmatter = "^1.1.0"
41
+ tomlkit = "^0.13.2"
42
+ pydantic = "^2.10.5"
43
+ dunamai = "^1.23.0"
44
+ rich = "^13.9.4"
43
45
 
44
- [tool.poetry.dev-dependencies]
45
- githubrelease = "^1.5"
46
46
 
47
+ [tool.poetry.dev-dependencies]
48
+ backoff = { version = "~=2.1.2", optional = true }
49
+ click = { version = "*", optional = true }
50
+ linkheader = { version = "*", optional = true }
51
+ requests = { version = "*", optional = true }
52
+ httpx = { version = "*", optional = true }
47
53
  # Tasks
48
54
  invoke = "^1.6"
49
55
 
50
56
  # Docs
51
57
  furo = "^2021.9.22"
52
58
  livereload = "^2.6"
53
- myst-parser = "^0.15"
54
59
  Sphinx = "^4.2"
55
60
 
56
61
  # Linting
@@ -60,7 +65,7 @@ pytest = "^7.1.2"
60
65
  pytest-httpserver = "^1.0.8"
61
66
 
62
67
  [tool.poetry.extras]
63
- github = ["githubrelease", "httpx"]
68
+ github = ["backoff", "click", "linkheader", "requests", "httpx"]
64
69
 
65
70
  [tool.poetry.scripts]
66
71
  autopub = "autopub.cli:app"
@@ -68,21 +73,17 @@ autopub = "autopub.cli:app"
68
73
  [tool.poetry.group.dev.dependencies]
69
74
  pytest-cov = "^4.1.0"
70
75
  pytest-mock = "^3.12.0"
76
+ time-machine = "^2.16.0"
71
77
 
72
78
  [tool.autopub]
73
79
  project-name = "AutoPub"
74
80
  git-username = "botpub"
75
- git-email = "botpub@autopub.rocks"
81
+ git-email = "52496925+botpub@users.noreply.github.com"
76
82
  append-github-contributor = true
77
83
 
78
84
 
79
85
  [tool.ruff]
80
- select = [
81
- "I",
82
- "E",
83
- "F",
84
- "UP",
85
- ]
86
+ select = ["I", "E", "F", "UP"]
86
87
  exclude = ["typings"]
87
88
  force-exclude = true
88
89
 
autopub-1.0.0a20/PKG-INFO DELETED
@@ -1,94 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: autopub
3
- Version: 1.0.0a20
4
- Summary: Automatic package release upon pull request merge
5
- Home-page: https://github.com/autopub/autopub
6
- License: AGPL-3.0
7
- Keywords: automatic,packaging,publish,release,version
8
- Author: Justin Mayer
9
- Author-email: entroP@gmail.com
10
- Requires-Python: >=3.8,<4.0
11
- Classifier: Development Status :: 4 - Beta
12
- Classifier: Environment :: Console
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
19
- Classifier: Programming Language :: Python :: 3.10
20
- Classifier: Programming Language :: Python :: 3.11
21
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
- Classifier: Topic :: System :: Software Distribution
23
- Classifier: Topic :: System :: Systems Administration
24
- Provides-Extra: github
25
- Requires-Dist: build (>=0.10.0,<0.11.0)
26
- Requires-Dist: dunamai (>=1.17.0,<2.0.0)
27
- Requires-Dist: githubrelease (>=1.5.9,<2.0.0) ; extra == "github"
28
- Requires-Dist: httpx (==0.16.1) ; extra == "github"
29
- Requires-Dist: pydantic (>=2)
30
- Requires-Dist: python-frontmatter (>=1.0.0,<2.0.0)
31
- Requires-Dist: rich (>=12.5.1,<13.0.0)
32
- Requires-Dist: time-machine (>=2.13.0,<3.0.0)
33
- Requires-Dist: tomlkit (>=0.5,<2.0)
34
- Requires-Dist: twine (>=4.0.2,<5.0.0)
35
- Requires-Dist: typer (>=0.9.0,<0.10.0)
36
- Project-URL: Issue Tracker, https://github.com/autopub/autopub/issues
37
- Project-URL: Repository, https://github.com/autopub/autopub
38
- Description-Content-Type: text/markdown
39
-
40
- # AutoPub
41
-
42
- [![Build Status](https://img.shields.io/circleci/build/github/autopub/autopub)](https://circleci.com/gh/autopub/autopub) [![PyPI Version](https://img.shields.io/pypi/v/autopub)](https://pypi.org/project/autopub/)
43
-
44
- AutoPub enables project maintainers to release new package versions to PyPI by merging pull requests.
45
-
46
- ## Environment
47
-
48
- AutoPub is intended for use with continuous integration (CI) systems such as [GitHub Actions][], [CircleCI][], or [Travis CI][]. Projects used with AutoPub are built via [build][] and published via [Twine][]. Contributions that add support for other CI and build systems are welcome.
49
-
50
- ## Configuration
51
-
52
- AutoPub settings can be configured via the `[tool.autopub]` table in the target project’s `pyproject.toml` file. Required settings include Git username and email address:
53
-
54
- ```toml
55
- [tool.autopub]
56
- git-username = "Your Name"
57
- git-email = "your_email@example.com"
58
- ```
59
-
60
- ## Release Files
61
-
62
- Contributors should include a `RELEASE.md` file in their pull requests with two bits of information:
63
-
64
- * Release type: major, minor, or patch
65
- * Description of the changes, to be used as the changelog entry
66
-
67
- Example:
68
-
69
- Release type: patch
70
-
71
- Add function to update version strings in multiple files.
72
-
73
- ## Usage
74
-
75
- The following `autopub` sub-commands can be used as steps in your CI flows:
76
-
77
- * `autopub check`: Check whether release file exists.
78
- * `autopub prepare`: Update version strings and add entry to changelog.
79
- * `autopub build`: Build the project.
80
- * `autopub commit`: Add, commit, and push incremented version and changelog changes.
81
- * `autopub githubrelease`: Create a new release on GitHub.
82
- * `autopub publish`: Publish a new release.
83
-
84
- For systems such as Travis CI in which only one deployment step is permitted, there is a single command that runs the above steps in sequence:
85
-
86
- * `autopub deploy`: Run `prepare`, `build`, `commit`, `githubrelease`, and `publish` in one invocation.
87
-
88
-
89
- [GitHub Actions]: https://github.com/features/actions
90
- [CircleCI]: https://circleci.com
91
- [Travis CI]: https://travis-ci.org
92
- [build]: https://pypa-build.readthedocs.io
93
- [Twine]: https://twine.readthedocs.io/
94
-
@@ -1,54 +0,0 @@
1
- # AutoPub
2
-
3
- [![Build Status](https://img.shields.io/circleci/build/github/autopub/autopub)](https://circleci.com/gh/autopub/autopub) [![PyPI Version](https://img.shields.io/pypi/v/autopub)](https://pypi.org/project/autopub/)
4
-
5
- AutoPub enables project maintainers to release new package versions to PyPI by merging pull requests.
6
-
7
- ## Environment
8
-
9
- AutoPub is intended for use with continuous integration (CI) systems such as [GitHub Actions][], [CircleCI][], or [Travis CI][]. Projects used with AutoPub are built via [build][] and published via [Twine][]. Contributions that add support for other CI and build systems are welcome.
10
-
11
- ## Configuration
12
-
13
- AutoPub settings can be configured via the `[tool.autopub]` table in the target project’s `pyproject.toml` file. Required settings include Git username and email address:
14
-
15
- ```toml
16
- [tool.autopub]
17
- git-username = "Your Name"
18
- git-email = "your_email@example.com"
19
- ```
20
-
21
- ## Release Files
22
-
23
- Contributors should include a `RELEASE.md` file in their pull requests with two bits of information:
24
-
25
- * Release type: major, minor, or patch
26
- * Description of the changes, to be used as the changelog entry
27
-
28
- Example:
29
-
30
- Release type: patch
31
-
32
- Add function to update version strings in multiple files.
33
-
34
- ## Usage
35
-
36
- The following `autopub` sub-commands can be used as steps in your CI flows:
37
-
38
- * `autopub check`: Check whether release file exists.
39
- * `autopub prepare`: Update version strings and add entry to changelog.
40
- * `autopub build`: Build the project.
41
- * `autopub commit`: Add, commit, and push incremented version and changelog changes.
42
- * `autopub githubrelease`: Create a new release on GitHub.
43
- * `autopub publish`: Publish a new release.
44
-
45
- For systems such as Travis CI in which only one deployment step is permitted, there is a single command that runs the above steps in sequence:
46
-
47
- * `autopub deploy`: Run `prepare`, `build`, `commit`, `githubrelease`, and `publish` in one invocation.
48
-
49
-
50
- [GitHub Actions]: https://github.com/features/actions
51
- [CircleCI]: https://circleci.com
52
- [Travis CI]: https://travis-ci.org
53
- [build]: https://pypa-build.readthedocs.io
54
- [Twine]: https://twine.readthedocs.io/
File without changes
File without changes
File without changes