Skip to content

Commit

Permalink
Merge pull request #17 from thehyve/poetry2-upgrade
Browse files Browse the repository at this point in the history
Poetry2 upgrade
  • Loading branch information
Spayralbe authored Jan 28, 2025
2 parents 286e2e4 + c76e78f commit d11e800
Show file tree
Hide file tree
Showing 10 changed files with 555 additions and 484 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## v0.3.1

Internal changes:
- Upgraded to Poetry 2.
- Upgraded dev and test dependencies.
- Updated metadata in pyproject.toml file.
- Use Python >= 3.9 type hints.
- Added __version__ variable

## v0.3.0

New (for CDM 5.4 onwards):
Expand Down
760 changes: 409 additions & 351 deletions poetry.lock

Large diffs are not rendered by default.

32 changes: 15 additions & 17 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
[tool.poetry]
[project]
name = "omop-cdm"
version = "0.3.0"
version = "0.3.1"
description = "SQLAlchemy ORM of the OHDSI OMOP CDM"
authors = [
"Spayralbe <[email protected]>",
{name = "Spayralbe", email = "[email protected]"},
]
readme = "README.md"
requires-python = ">=3.9,<4.0"
classifiers = [
"Intended Audience :: Developers",
"Operating System :: OS Independent",
Expand All @@ -20,34 +21,31 @@ classifiers = [
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
]
dependencies = [
"sqlalchemy >= 2.0",
]

[tool.poetry.urls]
[project.urls]
"Repository" = "https://github.com/thehyve/omop-cdm"
"Documentation" = "https://github.com/thehyve/omop-cdm/blob/main/docs/README.md"
"Bug Tracker" = "https://github.com/thehyve/omop-cdm/issues"
"Changelog" = "https://github.com/thehyve/omop-cdm/blob/main/CHANGELOG.md"

[tool.poetry.dependencies]
python = "^3.9"
sqlalchemy = "^2.0.4"

[tool.poetry.group.dev.dependencies]
nox = "^2024.4.15"
ruff = "^0.3.2"
pre-commit = "^3.5.0"
nox = "^2024.10.9"
ruff = "^0.9.3"
pre-commit = "^4.1.0"

[tool.poetry.group.test.dependencies]
pytest = "^8.1.1"
pytest-cov = "^4.1.0"
testcontainers = {version = ">=3.7.1", extras = ["postgres"]}
pytest = "^8.3.4"
pytest-cov = "^6.0.0"
testcontainers = "^4.9.1"
psycopg2-binary = "^2.9.9"


[build-system]
requires = ["poetry-core"]
requires = ["poetry-core>=2.0"]
build-backend = "poetry.core.masonry.api"


[tool.pytest.ini_options]
addopts = "--import-mode=importlib"
pythonpath = [
Expand Down
6 changes: 6 additions & 0 deletions src/omop_cdm/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
"""OMOP CDM SQLAlchemy model."""

import importlib.metadata

from omop_cdm.constants import NAMING_CONVENTION

__version__ = importlib.metadata.version("omop-cdm")
34 changes: 17 additions & 17 deletions src/omop_cdm/dynamic/cdm54/clinical_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import datetime
import decimal
from typing import List, Optional
from typing import Optional

from sqlalchemy import BigInteger, Date, DateTime, ForeignKey, Integer, Numeric, String, Text
from sqlalchemy.ext.declarative import declared_attr
Expand Down Expand Up @@ -229,71 +229,71 @@ def race_source_concept(cls) -> Mapped["Concept"]:
return relationship("Concept", foreign_keys="Person.race_source_concept_id")

@declared_attr
def observation_periods(cls) -> Mapped[List["ObservationPeriod"]]:
def observation_periods(cls) -> Mapped[list["ObservationPeriod"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def visit_occurrences(cls) -> Mapped[List["VisitOccurrence"]]:
def visit_occurrences(cls) -> Mapped[list["VisitOccurrence"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def visit_details(cls) -> Mapped[List["VisitDetail"]]:
def visit_details(cls) -> Mapped[list["VisitDetail"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def condition_occurrences(cls) -> Mapped[List["ConditionOccurrence"]]:
def condition_occurrences(cls) -> Mapped[list["ConditionOccurrence"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def drug_exposures(cls) -> Mapped[List["DrugExposure"]]:
def drug_exposures(cls) -> Mapped[list["DrugExposure"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def procedure_occurrences(cls) -> Mapped[List["ProcedureOccurrence"]]:
def procedure_occurrences(cls) -> Mapped[list["ProcedureOccurrence"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def device_exposures(cls) -> Mapped[List["DeviceExposure"]]:
def device_exposures(cls) -> Mapped[list["DeviceExposure"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def measurements(cls) -> Mapped[List["Measurement"]]:
def measurements(cls) -> Mapped[list["Measurement"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def observations(cls) -> Mapped[List["Observation"]]:
def observations(cls) -> Mapped[list["Observation"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def death(cls) -> Mapped["Death"]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def notes(cls) -> Mapped[List["Note"]]:
def notes(cls) -> Mapped[list["Note"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def specimens(cls) -> Mapped[List["Specimen"]]:
def specimens(cls) -> Mapped[list["Specimen"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def payer_plan_periods(cls) -> Mapped[List["PayerPlanPeriod"]]:
def payer_plan_periods(cls) -> Mapped[list["PayerPlanPeriod"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def drug_eras(cls) -> Mapped[List["DrugEra"]]:
def drug_eras(cls) -> Mapped[list["DrugEra"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def dose_eras(cls) -> Mapped[List["DoseEra"]]:
def dose_eras(cls) -> Mapped[list["DoseEra"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def condition_eras(cls) -> Mapped[List["ConditionEra"]]:
def condition_eras(cls) -> Mapped[list["ConditionEra"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")

@declared_attr
def episodes(cls) -> Mapped[List["Episode"]]:
def episodes(cls) -> Mapped[list["Episode"]]:
return relationship(back_populates="person", cascade="all, delete-orphan")


Expand Down
50 changes: 25 additions & 25 deletions src/omop_cdm/regular/cdm531/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,39 +62,39 @@

__all__ = [
"Base",
"Person",
"Death",
"Note",
"Measurement",
"NoteNlp",
"Observation",
"Specimen",
"VisitDetail",
"ConditionOccurrence",
"DeviceExposure",
"DrugExposure",
"FactRelationship",
"ObservationPeriod",
"ProcedureOccurrence",
"VisitOccurrence",
"CareSite",
"Location",
"Provider",
"Cost",
"PayerPlanPeriod",
"DoseEra",
"DrugEra",
"ConditionEra",
"Metadata",
"CdmSource",
"Vocabulary",
"SourceToConceptMap",
"Concept",
"ConceptAncestor",
"ConceptClass",
"ConceptRelationship",
"ConceptSynonym",
"ConditionEra",
"ConditionOccurrence",
"Cost",
"Death",
"DeviceExposure",
"Domain",
"DoseEra",
"DrugEra",
"DrugExposure",
"DrugStrength",
"FactRelationship",
"Location",
"Measurement",
"Metadata",
"Note",
"NoteNlp",
"Observation",
"ObservationPeriod",
"PayerPlanPeriod",
"Person",
"ProcedureOccurrence",
"Provider",
"Relationship",
"SourceToConceptMap",
"Specimen",
"VisitDetail",
"VisitOccurrence",
"Vocabulary",
]
54 changes: 27 additions & 27 deletions src/omop_cdm/regular/cdm54/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,41 +63,41 @@

__all__ = [
"Base",
"Person",
"Death",
"Note",
"Measurement",
"NoteNlp",
"Observation",
"Specimen",
"VisitDetail",
"ConditionOccurrence",
"DeviceExposure",
"DrugExposure",
"FactRelationship",
"ObservationPeriod",
"ProcedureOccurrence",
"VisitOccurrence",
"CareSite",
"Location",
"Provider",
"Cost",
"PayerPlanPeriod",
"DoseEra",
"DrugEra",
"ConditionEra",
"Episode",
"EpisodeEvent",
"Metadata",
"CdmSource",
"Vocabulary",
"SourceToConceptMap",
"Concept",
"ConceptAncestor",
"ConceptClass",
"ConceptRelationship",
"ConceptSynonym",
"ConditionEra",
"ConditionOccurrence",
"Cost",
"Death",
"DeviceExposure",
"Domain",
"DoseEra",
"DrugEra",
"DrugExposure",
"DrugStrength",
"Episode",
"EpisodeEvent",
"FactRelationship",
"Location",
"Measurement",
"Metadata",
"Note",
"NoteNlp",
"Observation",
"ObservationPeriod",
"PayerPlanPeriod",
"Person",
"ProcedureOccurrence",
"Provider",
"Relationship",
"SourceToConceptMap",
"Specimen",
"VisitDetail",
"VisitOccurrence",
"Vocabulary",
]
34 changes: 17 additions & 17 deletions src/omop_cdm/regular/cdm54/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import datetime
import decimal
from typing import List, Optional
from typing import Optional

from sqlalchemy import BigInteger, Date, DateTime, ForeignKey, Integer, MetaData, Numeric, String, Text
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
Expand Down Expand Up @@ -347,35 +347,35 @@ class Person(Base):
race_concept: Mapped["Concept"] = relationship("Concept", foreign_keys="Person.race_concept_id")
race_source_concept: Mapped["Concept"] = relationship("Concept", foreign_keys="Person.race_source_concept_id")

observation_periods: Mapped[List["ObservationPeriod"]] = relationship(
observation_periods: Mapped[list["ObservationPeriod"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
visit_occurrences: Mapped[List["VisitOccurrence"]] = relationship(
visit_occurrences: Mapped[list["VisitOccurrence"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
visit_details: Mapped[List["VisitDetail"]] = relationship(back_populates="person", cascade="all, delete-orphan")
condition_occurrences: Mapped[List["ConditionOccurrence"]] = relationship(
visit_details: Mapped[list["VisitDetail"]] = relationship(back_populates="person", cascade="all, delete-orphan")
condition_occurrences: Mapped[list["ConditionOccurrence"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
drug_exposures: Mapped[List["DrugExposure"]] = relationship(back_populates="person", cascade="all, delete-orphan")
procedure_occurrences: Mapped[List["ProcedureOccurrence"]] = relationship(
drug_exposures: Mapped[list["DrugExposure"]] = relationship(back_populates="person", cascade="all, delete-orphan")
procedure_occurrences: Mapped[list["ProcedureOccurrence"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
device_exposures: Mapped[List["DeviceExposure"]] = relationship(
device_exposures: Mapped[list["DeviceExposure"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
measurements: Mapped[List["Measurement"]] = relationship(back_populates="person", cascade="all, delete-orphan")
observations: Mapped[List["Observation"]] = relationship(back_populates="person", cascade="all, delete-orphan")
measurements: Mapped[list["Measurement"]] = relationship(back_populates="person", cascade="all, delete-orphan")
observations: Mapped[list["Observation"]] = relationship(back_populates="person", cascade="all, delete-orphan")
death: Mapped["Death"] = relationship(back_populates="person", cascade="all, delete-orphan")
notes: Mapped[List["Note"]] = relationship(back_populates="person", cascade="all, delete-orphan")
specimens: Mapped[List["Specimen"]] = relationship(back_populates="person", cascade="all, delete-orphan")
payer_plan_periods: Mapped[List["PayerPlanPeriod"]] = relationship(
notes: Mapped[list["Note"]] = relationship(back_populates="person", cascade="all, delete-orphan")
specimens: Mapped[list["Specimen"]] = relationship(back_populates="person", cascade="all, delete-orphan")
payer_plan_periods: Mapped[list["PayerPlanPeriod"]] = relationship(
back_populates="person", cascade="all, delete-orphan"
)
drug_eras: Mapped[List["DrugEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
dose_eras: Mapped[List["DoseEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
condition_eras: Mapped[List["ConditionEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
episodes: Mapped[List["Episode"]] = relationship(back_populates="person", cascade="all, delete-orphan")
drug_eras: Mapped[list["DrugEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
dose_eras: Mapped[list["DoseEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
condition_eras: Mapped[list["ConditionEra"]] = relationship(back_populates="person", cascade="all, delete-orphan")
episodes: Mapped[list["Episode"]] = relationship(back_populates="person", cascade="all, delete-orphan")


class ObservationPeriod(Base):
Expand Down
Loading

0 comments on commit d11e800

Please sign in to comment.