Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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
30 changes: 16 additions & 14 deletions .github/workflows/push_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,31 @@ on:
branches: [develop, master]
release:
types: [published]
push:
tags:
- v*

jobs:
pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: astral-sh/setup-uv@v5
with:
python-version: 3.12
- uses: actions/checkout@v6

- name: Install dependencies
run: uv pip install twine
- uses: astral-sh/setup-uv@v7
with:
python-version: 3.13

- name: Build Packages
run: |
uv build --sdist core
uv build --sdist client
uv build --sdist server
uv build --wheel core
uv build --wheel client

- name: Publish Packages
if: github.event_name == 'release'
- name: Sanity Check
run: |
twine upload dist/lomas_core* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
twine upload dist/lomas_client* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
twine upload dist/lomas_server* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
uv run --isolated --no-project --with dist/lomas_core-* python -c 'import lomas_core'
uv run --isolated --no-project --with dist/lomas_core-* --with dist/lomas_client-* python -c 'import lomas_client'

- name: Publish Packages
if: github.event_name == 'release' || github.ref_type == 'tag'
run: |
uv publish --check-url https://pypi.org/simple --token ${{ secrets.PYPI_TOKEN }}
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
</picture>
</h1><br>

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python versions](https://img.shields.io/pypi/pyversions/lomas_client.svg)](https://pypi.org/project/lomas_client/)
![GitHub License](https://img.shields.io/github/license/dscc-admin-ch/lomas)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/lomas_client)
[![Documentation](https://img.shields.io/badge/docs-Read%20the%20Docs-blue)](https://dscc-admin-ch.github.io/lomas-docs/index.html)
[![Tests](https://github.com/dscc-admin-ch/lomas/actions/workflows/test_and_coverage_server.yml/badge.svg)](https://github.com/dscc-admin-ch/lomas/actions/workflows/test_and_coverage_server.yml)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/dscc-admin-ch/lomas/test_and_coverage_server.yml?logo=github&label=Server%20Tests)
[![Coverage badge](https://raw.githubusercontent.com/dscc-admin-ch/lomas/python-coverage-comment-action-data/badge.svg)](https://htmlpreview.github.io/?https://raw.githubusercontent.com/dscc-admin-ch/lomas/python-coverage-comment-action-data/htmlcov/index.html)
[![CodeQL](https://github.com/dscc-admin-ch/lomas/actions/workflows/check_security_codeQL.yml/badge.svg)](https://github.com/dscc-admin-ch/lomas/actions/workflows/check_security_codeQL.yml)
[![PyPi version](https://img.shields.io/pypi/v/lomas_client.svg)](https://pypi.org/project/lomas_client/)
![PyPI - Version](https://img.shields.io/pypi/v/lomas_client)
[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
Expand Down
5 changes: 3 additions & 2 deletions client/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ where = ["."]

[project]
name = "lomas-client"
version = "0.4.1"
version = "0.5.0a2"
description = "A client to interact with the Lomas server."
readme = "README.md"
requires-python = ">=3.11, <3.14"
Expand Down Expand Up @@ -37,9 +37,10 @@ classifiers = [
"Topic :: Security",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
dependencies = [
"lomas-core==0.4.1",
"lomas-core==0.5.0a2",
"jupyter>=1.1",
"authlib>=1.6.7",
"opentelemetry-instrumentation-logging>=0.50b0",
Expand Down
3 changes: 2 additions & 1 deletion core/lomas_core/models/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from importlib import metadata
from typing import Literal

import diffprivlib
from rich.logging import RichHandler

# Field names
Expand All @@ -24,7 +25,7 @@

OPENDP_VERSION = metadata.version("opendp")
OpenDPFeatures = Sequence[Literal["contrib", "floating-point", "honest-but-curious"]]
DIFFPRIVLIB_VERSION = metadata.version("diffprivlib")
DIFFPRIVLIB_VERSION = diffprivlib.__version__


# Metadata
Expand Down
6 changes: 3 additions & 3 deletions core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ where = ["."]

[project]
name = "lomas-core"
version = "0.4.1"
version = "0.5.0a2"
description = "Lomas core."
readme = "README.md"
requires-python = ">=3.11, <3.14"
Expand All @@ -29,11 +29,11 @@ classifiers = [
"Topic :: Security",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
dependencies = [
"returns[compatible-mypy]>=0.25",
"diffprivlib @ git+https://github.com/LancelotMarti/differential-privacy-library.git@main",
"diffprivlib_logger==0.0.3",
"diffprivlib_logger==0.0.4",
"fastapi[standard-no-fastapi-cloud-cli]>=0.120",
"opendp[mbi]==0.14.1",
"polars==1.32.0",
Expand Down
2 changes: 1 addition & 1 deletion devenv/lib.nix
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ rec {
# add missing setuptools build requirements to theses libs
fixBuildSystemOverlay =
final: prev:
lib.genAttrs [ "diffprivlib-logger" "pandoc" "diffprivlib" ] (
lib.genAttrs [ "pandoc" ] (
name:
prev.${name}.overrideAttrs (old: {
nativeBuildInputs = old.nativeBuildInputs ++ final.resolveBuildSystem { setuptools = [ ]; };
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "lomas"
version = "0.4.1"
version = "0.5.0a2"
requires-python = '>=3.11'
dependencies = [
"lomas-core",
Expand Down
5 changes: 3 additions & 2 deletions server/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ where = ["."]

[project]
name = "lomas-server"
version = "0.4.1"
version = "0.5.0a2"
description = "Lomas server."
readme = "README.md"
requires-python = ">=3.11, <3.14"
Expand All @@ -29,9 +29,10 @@ classifiers = [
"Topic :: Security",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
]
dependencies = [
"lomas-core==0.4.1",
"lomas-core==0.5.0a2",
"boto3>=1.34",
"opentelemetry-instrumentation-fastapi>=0.50b0",
"opentelemetry-instrumentation-logging>=0.50b0",
Expand Down
Loading
Loading