Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Publish to TestPyPI
name: Publish to PyPI
on:
release:
types: [published]
Expand All @@ -11,7 +11,7 @@ jobs:
uses: ./.github/workflows/quality.yml

publish:
# This job publishes to TestPyPI when a GitHub release is created with a tag starting with 'v' on the release branch.
# This job publishes to PyPI when a GitHub release is created with a tag starting with 'v' on the release branch.
#
# Requirements:
# - Repository admin must create a release with a tag starting with 'v' (e.g., v1.2.3)
Expand All @@ -21,7 +21,7 @@ jobs:
# Security notes:
# - The tag and branch checks in this job are soft checks (can be bypassed by modifying workflow)
# - Real security enforcement comes from the 'pypi' environment which requires manual approval by org admin
# - This provides a final gate before any code is published to TestPyPI
# - This provides a final gate before any code is published to PyPI
needs: test
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
Expand All @@ -48,6 +48,4 @@ jobs:
path: dist/

- name: Upload to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
uses: pypa/gh-action-pypi-publish@release/v1
36 changes: 36 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,42 @@

## [Unreleased]

## [1.3.0] - 2025-10-25

### Added

- Project is now PEP 517 compliant and doesn't use deprecated setup.py commands anymore
- GitHub Actions workflow for publishing to PyPI using environment protection
- `uv` package manager integration across CI workflows for faster dependency resolution
- New consolidated `quality.yml` workflow for linting and testing
- New `build_third_party_packagers.yml` workflow consolidating cx_Freeze, PyInstaller, Nuitka, and py2exe testing
- Pre-commit hooks configuration
- Justfile with extensive development automation commands - github actions have been refactored use this where possible, making them locally debuggable

### Changed

- **Breaking**: Dropped Python 3.8 support; minimum Python version is now 3.9
- Migrated from setup.py to pyproject.toml-only configuration (PEP 517)
- Consolidated multiarch CI workflows with reduced test matrix for improved performance
- Simplified third-party packager testing into single consolidated workflow
- Moved coverage configuration from .coveragerc to pyproject.toml
- Moved pytest configuration from pytest.ini to pyproject.toml
- Moved mypy configuration from mypy.ini to pyproject.toml
- Moved Ruff configuration from .ruff.toml to pyproject.toml
- Reorganized development requirements into pyproject.toml optional dependencies

### Removed

- Removed setup.py (replaced by pyproject.toml)
- Removed standalone configuration files: .coveragerc, pytest.ini, mypy.ini, .ruff.toml
- Removed separate workflow files: build_cxfreeze_library.yml, build_nuitka_library.yml, build_py2exe_library.yml, build_pyinstaller_library.yml
- Removed pre-commit.yml and security.yml workflows (consolidated into quality.yml)
- Removed separate requirements files (test, docs, multiarch) - now in pyproject.toml

### Security

- Implemented PyPI publishing workflow with manual approval gate

## [1.2.0] - 2025-10-19

### Added
Expand Down
2 changes: 1 addition & 1 deletion fluids/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ def all_submodules(with_numerics=True):
return new_submodules


__version__ = "1.2.10"
__version__ = "1.3.0"

try:
fluids_dir = os.path.dirname(__file__)
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ backend-path = ["_custom_build"]

[project]
name = "fluids"
version = "1.2.10"
version = "1.3.0"
description = "Fluid dynamics component of Chemical Engineering Design Library (ChEDL)"
readme = "README.rst"
requires-python = ">=3.9"
Expand Down Expand Up @@ -132,7 +132,7 @@ dev = [

[project.urls]
Homepage = "https://github.com/CalebBell/fluids"
Download = "https://github.com/CalebBell/fluids/tarball/1.2.10"
Download = "https://github.com/CalebBell/fluids/tarball/1.3.0"

[tool.setuptools]
packages = ["fluids"]
Expand Down
Loading