Skip to content

Conversation

@johnnygreco
Copy link
Contributor

This pull request introduces a new automated publishing workflow for the project, making it easier and safer to publish all packages to PyPI with consistent versioning. It adds a robust publish command to the Makefile, along with a comprehensive scripts/publish.sh script that handles validation, testing, building, tagging, and uploading. Additionally, the license header update script is improved to support both Python and shell script files.

Automated Publishing Workflow:

  • Added a new publish command to the Makefile that supports versioning, dry-run, and branch control options, and updated the help text to document these features. [1] [2] [3]
  • Introduced scripts/publish.sh, a robust script that automates the full PyPI publishing process for all packages, including argument parsing, validation (version format, branch, git state, PyPI credentials), running tests, building packages, tagging, uploading, and reporting. Supports dry-run and branch override.

License Header Tool Improvements:

  • Extended scripts/update_license_headers.py to support both .py and .sh files, ensuring license headers are present and up-to-date in Python and shell scripts. Updated processing logic, supported extensions, and CLI help text. [1] [2] [3] [4]

@johnnygreco johnnygreco changed the title Johnny/chore/add publish script chore: add publishing script Jan 23, 2026
@johnnygreco johnnygreco requested a review from a team January 23, 2026 22:22
upload_to_pypi() {
header "Uploading to PyPI"

if [[ "$DRY_RUN" == true ]]; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could maybe go a bit beyond when dry running? There is e.g. , twine check, twine --dry-run and testpypi

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, good idea!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andreatgretel! Adding the testpypi option revealed some subtle issues (e.g., the readme that gets published for the data-designer subpackage should be the top-level readme).

@andreatgretel
Copy link
Contributor

Are we still thinking of maybe doing any of this on CI, or is the script enough? I tend to think the script is enough.

andreatgretel
andreatgretel previously approved these changes Jan 27, 2026
@johnnygreco johnnygreco force-pushed the johnny/chore/add-publish-script branch from f0831d0 to 1e18e1e Compare January 27, 2026 18:17
@johnnygreco
Copy link
Contributor Author

Are we still thinking of maybe doing any of this on CI, or is the script enough? I tend to think the script is enough.

Yeah, maybe we start with this script + make and see if that works for us.

@johnnygreco johnnygreco force-pushed the johnny/refactor/207-repackaging-with-subpackages branch from 824d8ed to 177d38d Compare January 27, 2026 18:32
johnnygreco and others added 5 commits January 27, 2026 14:11
* add municipality to person fields

* update brazil fields

* add locales

* fix file size

* Update dataset_based_person_fields.py

Co-authored-by: Andre Manoel <165937436+andreatgretel@users.noreply.github.com>

* update to ngc sizes

---------

Co-authored-by: Andre Manoel <165937436+andreatgretel@users.noreply.github.com>
* feat: Add /create-pr skill for well-formatted GitHub PRs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add guidance for including links to code and commits in PRs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Change skill arguments to freeform special instructions

Allows users to provide any guidance like base branch, summary focus,
or additional context rather than rigid branch-or-title detection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: Disable model invocation for skills

Add disable-model-invocation: true to create-pr and new-sdg skills
so they only run when explicitly invoked by the user via /skill-name.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* remove old structure

* major shuffle

* streamline project configs

* update make commands

* updates to make commands

* remove essentials

* initialize logger in interface

* uv lock

* ignore notepad

* update workflows

* fix e2e project config

* generate colab notebooks

* resolve default model settings in interface

* fix build commands

* update perf import make command

* cleaning up some slop

* update recipes

* move conftest files to tests/

* update subpackage readmes

* streamline config_logging

* use exports

* update perf import usage pattern

* update for IDE behavior with ruff

* remove engine's fixtures file

* add note to about lazy imports

* update dependencies

* update docs

* doc fixes

* uv lock

* updates to catch up with main

* clean up makefile

* remove package gitignores

* define deps only once

* isolate tests

* add test for protetion rule

* create temp dirs for isolated tests

* catch up to main

* update headers

* re apply changes

* better result summaries for isolated tests

* move exports into top-level init

* fix client importlib version syntax

* catch up with main
@johnnygreco johnnygreco changed the base branch from johnny/refactor/207-repackaging-with-subpackages to main January 27, 2026 19:13
@johnnygreco johnnygreco dismissed stale reviews from andreatgretel and nabinchha January 27, 2026 19:13

The base branch was changed.

@johnnygreco
Copy link
Contributor Author

closed in favor of #253

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants