Skip to content

Commit

Permalink
Merge pull request #26 from linkml/dynamic-build
Browse files Browse the repository at this point in the history
Adding dynamic build
  • Loading branch information
cmungall authored May 2, 2024
2 parents 14383f5 + 203375e commit 143419c
Show file tree
Hide file tree
Showing 9 changed files with 524 additions and 556 deletions.
33 changes: 18 additions & 15 deletions .github/workflows/pypi-publish.yaml
Original file line number Diff line number Diff line change
@@ -1,36 +1,39 @@
name: Publish Python Package

on:
workflow_dispatch:
release:
types: [created]

jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI
runs-on: ubuntu-latest
# needs: [test]
environment: release
permissions:
id-token: write

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3.1.0

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: pip
cache-dependency-path: '**/pyproject.toml'

- name: Install Poetry
run: pip install poetry poetry-dynamic-versioning
uses: snok/install-poetry@v1
with:
version: 1.3.2

- name: Install dependencies
run: poetry install --no-interaction
- name: Add dynamic versioning plugin
run: poetry self add "poetry-dynamic-versioning[plugin]"

# - name: Install dependencies
# run: poetry install --no-interaction

- name: Build source and wheel archives
run: poetry build
run: |
poetry build
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@v1.5.0
with:
user: __token__
password: ${{ secrets.pypi_password }}
959 changes: 479 additions & 480 deletions poetry.lock

Large diffs are not rendered by default.

15 changes: 10 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]
name = "linkml-map"
version = "0.1.0"
description = ""
version = "0.0.0"
description = "a framework for specifying and executing mappings between data models"
authors = ["cmungall <cjm@berkeleybop.org>"]
readme = "README.md"

Expand All @@ -10,7 +10,7 @@ python = "^3.9"
linkml-runtime = ">=1.7.2"
asteval = "^0.9.29"
deepdiff = "^6.7.1"
pydantic = "^2.5.3"
pydantic = ">=2.0.0"
ucumvert = "^0.1.1"

[tool.poetry.dev-dependencies]
Expand All @@ -22,6 +22,11 @@ mknotebooks = "^0.8.0"
mkdocs-windmill = "*"
tox = "*"

[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "pep440"

[tool.poetry.scripts]
linkml-map = "linkml_map.cli.cli:main"

Expand All @@ -42,8 +47,8 @@ graphviz = "^0.20.1"
duckdb = "^0.10.1"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
build-backend = "poetry_dynamic_versioning.backend"

[tool.black]
line-length = 100
Expand Down
4 changes: 4 additions & 0 deletions src/linkml_map/compiler/sql_compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ def create_ddl(self, schemaview: SchemaView) -> str:
ddl.append(");")
return "\n".join(ddl)

def create_target_ddl(self, specification: TransformationSpecification) -> str:
target_sv = self.derived_target_schemaview(specification)
return self.create_ddl(target_sv)

def sql_type(self, slot: SlotDefinition, schemaview: SchemaView) -> str:
"""
Map LinkML types to DuckDB SQL types.
Expand Down
10 changes: 3 additions & 7 deletions src/linkml_map/datamodel/transformer_model.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
from __future__ import annotations

import re
import sys
from datetime import date, datetime
from decimal import Decimal
from enum import Enum
from typing import Any, Dict, List, Literal, Optional, Union
from typing import Any, Dict, List, Optional

from pydantic.version import VERSION as PYDANTIC_VERSION

if int(PYDANTIC_VERSION[0]) >= 2:
from pydantic import BaseModel, ConfigDict, Field, field_validator
from pydantic import BaseModel, ConfigDict, Field
else:
from pydantic import BaseModel, Field, validator
from pydantic import BaseModel, Field

metamodel_version = "None"
version = "None"
Expand Down
19 changes: 3 additions & 16 deletions tests/input/examples/flattening/model/denormalized_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,20 @@
# license: https://creativecommons.org/publicdomain/zero/1.0/

import dataclasses
import re
import sys
from dataclasses import dataclass
from typing import Any, ClassVar, Dict, List, Optional, Union

from jsonasobj2 import JsonObj, as_dict
from linkml_runtime.linkml_model.meta import (
EnumDefinition,
PermissibleValue,
PvFormulaOptions,
)
from linkml_runtime.linkml_model.types import String
from jsonasobj2 import as_dict
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.dataclass_extensions_376 import (
dataclasses_init_fn_with_kwargs,
)
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.utils.formatutils import camelcase, sfx, underscore
from linkml_runtime.utils.metamodelcore import bnode, empty_dict, empty_list
from linkml_runtime.utils.metamodelcore import empty_list
from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.yamlutils import (
YAMLRoot,
extended_float,
extended_int,
extended_str,
)
from rdflib import Namespace, URIRef
from rdflib import URIRef

metamodel_version = "1.7.0"
version = None
Expand Down
18 changes: 3 additions & 15 deletions tests/input/examples/flattening/model/normalized_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,21 @@
# license: https://creativecommons.org/publicdomain/zero/1.0/

import dataclasses
import re
import sys
from dataclasses import dataclass
from typing import Any, ClassVar, Dict, List, Optional, Union

from jsonasobj2 import JsonObj, as_dict
from linkml_runtime.linkml_model.meta import (
EnumDefinition,
PermissibleValue,
PvFormulaOptions,
)
from linkml_runtime.linkml_model.types import String
from jsonasobj2 import as_dict
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.dataclass_extensions_376 import (
dataclasses_init_fn_with_kwargs,
)
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.utils.formatutils import camelcase, sfx, underscore
from linkml_runtime.utils.metamodelcore import bnode, empty_dict, empty_list
from linkml_runtime.utils.metamodelcore import empty_dict, empty_list
from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.yamlutils import (
YAMLRoot,
extended_float,
extended_int,
extended_str,
)
from rdflib import Namespace, URIRef
from rdflib import URIRef

metamodel_version = "1.7.0"
version = None
Expand Down
11 changes: 2 additions & 9 deletions tests/input/examples/personinfo_basic/model/agent_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,31 @@

import dataclasses
import re
import sys
from dataclasses import dataclass
from typing import Any, ClassVar, Dict, List, Optional, Union

from jsonasobj2 import JsonObj, as_dict
from jsonasobj2 import as_dict
from linkml_runtime.linkml_model.meta import (
EnumDefinition,
PermissibleValue,
PvFormulaOptions,
)
from linkml_runtime.linkml_model.types import Boolean, Date, Float, String
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.dataclass_extensions_376 import (
dataclasses_init_fn_with_kwargs,
)
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.utils.formatutils import camelcase, sfx, underscore
from linkml_runtime.utils.metamodelcore import (
Bool,
XSDDate,
bnode,
empty_dict,
empty_list,
)
from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.yamlutils import (
YAMLRoot,
extended_float,
extended_int,
extended_str,
)
from rdflib import Namespace, URIRef
from rdflib import URIRef

metamodel_version = "1.7.0"
version = None
Expand Down
11 changes: 2 additions & 9 deletions tests/input/examples/personinfo_basic/model/personinfo_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,31 @@

import dataclasses
import re
import sys
from dataclasses import dataclass
from typing import Any, ClassVar, Dict, List, Optional, Union

from jsonasobj2 import JsonObj, as_dict
from jsonasobj2 import as_dict
from linkml_runtime.linkml_model.meta import (
EnumDefinition,
PermissibleValue,
PvFormulaOptions,
)
from linkml_runtime.linkml_model.types import Boolean, Date, Float, Integer, String
from linkml_runtime.utils.curienamespace import CurieNamespace
from linkml_runtime.utils.dataclass_extensions_376 import (
dataclasses_init_fn_with_kwargs,
)
from linkml_runtime.utils.enumerations import EnumDefinitionImpl
from linkml_runtime.utils.formatutils import camelcase, sfx, underscore
from linkml_runtime.utils.metamodelcore import (
Bool,
XSDDate,
bnode,
empty_dict,
empty_list,
)
from linkml_runtime.utils.slot import Slot
from linkml_runtime.utils.yamlutils import (
YAMLRoot,
extended_float,
extended_int,
extended_str,
)
from rdflib import Namespace, URIRef
from rdflib import URIRef

metamodel_version = "1.7.0"
version = None
Expand Down

0 comments on commit 143419c

Please sign in to comment.