Skip to content

Commit 8aba9ff

Browse files
committed
chore(release): prepare project for publishing
- Packaging & Metadata: - Add [project.urls] for PyPI sidebar links (Homepage, Docs, Repo, Issues). - Update license to standard SPDX expression "Apache-2.0" (PEP 639). - Clean up classifiers and add "Operating System :: OS Independent". - Remove <3.14 upper bound on requires-python. - Add PEP 561 py.typed marker and package-data configuration. - Documentation: - Fix RST link syntax for CONTRIBUTING.md in README.rst. - Fix RST subheadings and code literal backticks under "Run samples". - Add bash syntax highlighting to installation code block. - Add Lindsey Volta to authors list. - Tooling & Python 3.14: - Add Python 3.14 to noxfile test matrix and pyproject classifiers. - Update coverage test dependency to >=7.0.0. - Configure [tool.black] in pyproject.toml and simplify nox format session. - Remove set -x from release.sh. Change-Id: I335c981a8a8b44d80662dd7a080ed45a5852b8f6
1 parent ad42d54 commit 8aba9ff

5 files changed

Lines changed: 30 additions & 21 deletions

File tree

‎.kokoro/release.sh‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash
22
set -euo pipefail
3-
set -x # Echo commands for build transparency in Kokoro logs
43

54
# -----------------------------------------------------------------------------
65
# 1. Workspace & Directory Resolution

‎README.rst‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ Requirements
1010
Installation
1111
------------
1212

13-
.. code-block::
13+
.. code-block:: bash
1414
15-
pip install .
15+
pip install google-ads-datamanager-util
1616
1717
Documentation
1818
-------------
@@ -22,14 +22,14 @@ configure, and use this client library.
2222
Run samples
2323
-----------
2424

25-
Samples are provided in the `samples/` directory, and the `samples/sampledata`
25+
Samples are provided in the ``samples/`` directory, and the ``samples/sampledata``
2626
directory contains samples of input files you can use with the samples.
2727

2828
To run a sample, invoke the script using the command line. You can pass
2929
arguments to the script in one of two ways:
3030

3131
1. Explicitly, on the command line
32-
-----------------------------------
32+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3333

3434
.. code-block:: bash
3535
@@ -40,7 +40,7 @@ arguments to the script in one of two ways:
4040
--json_file='</path/to/your/file>'
4141
4242
2. Using an arguments file
43-
--------------------------
43+
~~~~~~~~~~~~~~~~~~~~~~~~~~
4444

4545
You can also save arguments in a file, with one argument per line.
4646

@@ -71,12 +71,14 @@ https://github.com/googleads/data-manager-python/issues
7171
Contributing
7272
------------
7373

74-
Contributions welcome! See the [Contributing Guide](CONTRIBUTING.md).
74+
Contributions welcome! See the `Contributing Guide <CONTRIBUTING.md>`_.
7575

7676
Authors
7777
-------
7878

7979
* `Josh Radcliff`_
80+
* `Lindsey Volta`_
8081

8182
.. _Developer Site: https://developers.google.com/data-manager/api/get-started/set-up-access#python
8283
.. _Josh Radcliff: https://github.com/jradcliff
84+
.. _Lindsey Volta: https://github.com/lindsey-volta

‎google/ads/datamanager_util/py.typed‎

Whitespace-only changes.

‎noxfile.py‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import os
1717
import pathlib
1818

19-
PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13"]
19+
PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13", "3.14"]
2020

2121
TEST_COMMAND = [
2222
"coverage",
@@ -39,7 +39,7 @@
3939
FREEZE_COMMAND = ["python", "-m", "pip", "freeze"]
4040
TEST_DEPENDENCIES = [
4141
"pyfakefs>=5.0.0,<6.0",
42-
"coverage==6.5.0",
42+
"coverage>=7.0.0",
4343
]
4444

4545

@@ -58,11 +58,4 @@ def tests(session):
5858
@nox.session(venv_backend="none")
5959
def format(session):
6060
"""Runs the black formatter and applies formatting fixes."""
61-
session.run(
62-
"black",
63-
"-l",
64-
"80",
65-
"--exclude",
66-
r"/(v[0-9]+|\.eggs|\.git|_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist)/",
67-
".",
68-
)
61+
session.run("black", ".")

‎pyproject.toml‎

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,25 @@ build-backend = "setuptools.build_meta"
1818

1919
[project]
2020
name = "google-ads-datamanager-util"
21-
version = "0.4.0"
21+
version = "0.4.0rc1"
2222
description = "Utilities for the Data Manager API"
2323
readme = "./README.rst"
24-
requires-python = ">=3.10, <3.14"
25-
license = {text = "Apache 2.0"}
24+
requires-python = ">=3.10"
25+
license = "Apache-2.0"
2626
authors = [
2727
{name = "Google LLC", email = "googleapis-packages@google.com"}
2828
]
2929
classifiers = [
30-
"Intended Audience :: Developers",
3130
"Development Status :: 4 - Beta",
3231
"Intended Audience :: Developers",
32+
"Operating System :: OS Independent",
3333
"Programming Language :: Python",
3434
"Programming Language :: Python :: 3",
3535
"Programming Language :: Python :: 3.10",
3636
"Programming Language :: Python :: 3.11",
3737
"Programming Language :: Python :: 3.12",
3838
"Programming Language :: Python :: 3.13",
39+
"Programming Language :: Python :: 3.14",
3940
]
4041
dependencies = [
4142
"PyYAML >= 5.1, < 7.0",
@@ -44,6 +45,12 @@ dependencies = [
4445
"typing_extensions",
4546
]
4647

48+
[project.urls]
49+
Homepage = "https://github.com/googleads/data-manager-python"
50+
Documentation = "https://developers.google.com/data-manager/api/get-started/set-up-access#python"
51+
Repository = "https://github.com/googleads/data-manager-python"
52+
"Issue Tracker" = "https://github.com/googleads/data-manager-python/issues"
53+
4754
[project.optional-dependencies]
4855
dev = [
4956
"black[jupyter]",
@@ -59,3 +66,11 @@ samples = [
5966
[tool.setuptools]
6067
packages = ["google.ads.datamanager_util"]
6168

69+
[tool.setuptools.package-data]
70+
"google.ads.datamanager_util" = ["py.typed"]
71+
72+
[tool.black]
73+
line-length = 80
74+
# Omit py314 until 3.14 GA to avoid Black AST parser warnings on Python <= 3.13.
75+
target-version = ["py310", "py311", "py312", "py313"]
76+

0 commit comments

Comments
 (0)