Skip to content

feature/PyPi.org integration#24

Merged
leo-gan merged 1 commit intoleo-gan:mainfrom
LeoGan:feature/PyPi.org-integration
Oct 2, 2025
Merged

feature/PyPi.org integration#24
leo-gan merged 1 commit intoleo-gan:mainfrom
LeoGan:feature/PyPi.org-integration

Conversation

@leo-gan
Copy link
Owner

@leo-gan leo-gan commented Oct 2, 2025

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @leo-gan, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's distribution capabilities by integrating PyPI publishing workflows. It establishes a robust set of Makefile commands for managing package builds and uploads, ensuring that both the core library and its command-line interface can be easily released and maintained on the Python Package Index. These changes streamline the release process and improve the discoverability and usability of the packages.

Highlights

  • Build and Publish Automation: Introduced new Makefile targets for cleaning, building, and publishing both the pdf-anonymizer-core and pdf-anonymizer-cli packages to TestPyPI and PyPI.
  • PyPI Metadata Updates: Added essential metadata such as license (MIT), README references, and repository URLs to the pyproject.toml files for both the core and CLI packages, preparing them for PyPI distribution.
  • Version Bump: Updated the workspace version in the root pyproject.toml from 0.2.2 to 0.3.0.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@leo-gan leo-gan merged commit afc581c into leo-gan:main Oct 2, 2025
2 checks passed
@leo-gan leo-gan deleted the feature/PyPi.org-integration branch October 2, 2025 04:26
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request effectively sets up the project for PyPI integration by adding necessary metadata to the pyproject.toml files and creating build/publish scripts in the Makefile. The changes are logical and follow standard practices for Python packaging. My review focuses on enhancing the Makefile for better developer experience by introducing aggregate targets to manage both packages with single commands.

@@ -1,4 +1,4 @@
.PHONY: install lint format test
.PHONY: install lint format test build-core build-cli clean-core clean-cli publish-core publish-cli publish-core-test publish-cli-test

Choose a reason for hiding this comment

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

medium

To support the new aggregate targets for cleaning, building, and publishing (which I've suggested in another comment), please add them to this .PHONY declaration. This is a good practice in Makefiles to ensure the targets always execute regardless of whether a file with the same name exists.

.PHONY: install lint format test build-core build-cli clean-core clean-cli publish-core publish-cli publish-core-test publish-cli-test clean build publish-test publish

Comment on lines +48 to +49
publish-cli: build-cli
cd $(CLI_PKG_DIR) && uvx --from twine twine upload dist/* No newline at end of file

Choose a reason for hiding this comment

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

medium

To improve the developer experience, consider adding aggregate targets that perform actions for both packages simultaneously. This simplifies the workflow by allowing you to build, clean, or publish the entire project with a single command instead of running separate commands for each package.

publish-cli: build-cli
	cd $(CLI_PKG_DIR) && uvx --from twine twine upload dist/*

# --- Aggregate Targets ---
clean: clean-core clean-cli

build: build-core build-cli

publish-test: publish-core-test publish-cli-test

publish: publish-core publish-cli

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.

1 participant