diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12a13a0514..8c0191cd62 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,10 +68,11 @@ jobs: sudo make -j $(nproc) sudo make install - - name: install xmlschema + - name: install dependencies run: | sudo /usr/bin/python -m pip install -U pip sudo /usr/bin/python -m pip install xmlschema numpy + sudo /usr/bin/python -m pip install src/bcf - name: Test run: | diff --git a/src/bcf/MANIFEST.in b/src/bcf/MANIFEST.in new file mode 100644 index 0000000000..30feaf47bc --- /dev/null +++ b/src/bcf/MANIFEST.in @@ -0,0 +1,2 @@ +include src/bcf/v2/xsd/*.xsd +include src/bcf/v3/xsd/*.xsd \ No newline at end of file diff --git a/src/bcf/pyproject.toml b/src/bcf/pyproject.toml new file mode 100644 index 0000000000..dadda3ed02 --- /dev/null +++ b/src/bcf/pyproject.toml @@ -0,0 +1,12 @@ +[build-system] +requires = [ + "setuptools>=42", + "wheel" +] +build-backend = "setuptools.build_meta" + +[tool.black] +line-length = 120 + +[tool.isort] +profile = "black" \ No newline at end of file diff --git a/src/bcf/setup.cfg b/src/bcf/setup.cfg new file mode 100644 index 0000000000..3eba915750 --- /dev/null +++ b/src/bcf/setup.cfg @@ -0,0 +1,37 @@ +[metadata] +name=bcf-client +version=0.0.1 +author = Ifcopenshell +description = A simple Python implementation of BCF +url = https://github.com/IfcOpenShell/IfcOpenShell +project_urls = + Code=https://github.com/IfcOpenShell/IfcOpenShell + Issues=https://github.com/IfcOpenShell/IfcOpenShell/issues +long_description = file: README.md +long_description_content_type = text/markdown +classifiers = + License :: OSI Approved :: GNU General Public License v3 (GPLv3) + Operating System :: OS Independent + Programming Language :: Python :: 3 + Topic :: Scientific/Engineering + Topic :: Utilities +keywords = + Python + file formats + engineering + +[options] +package_dir = + = src +packages = find: +python_requires = >=3 +install_requires= + xmlschema +include_package_data = True + +[options.packages.find] +where = src + +[flake8] +max-line-length = 120 +ignore = E24, E121, E123, E126, E203, E226, E704, E741, W503, W504 diff --git a/src/bcf/bcf/__init__.py b/src/bcf/src/bcf/__init__.py similarity index 100% rename from src/bcf/bcf/__init__.py rename to src/bcf/src/bcf/__init__.py diff --git a/src/bcf/bcf/bcfxml.py b/src/bcf/src/bcf/bcfxml.py similarity index 100% rename from src/bcf/bcf/bcfxml.py rename to src/bcf/src/bcf/bcfxml.py diff --git a/src/bcf/src/bcf/v2/__init__.py b/src/bcf/src/bcf/v2/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/bcf/bcf/v2/bcfxml.py b/src/bcf/src/bcf/v2/bcfxml.py similarity index 100% rename from src/bcf/bcf/v2/bcfxml.py rename to src/bcf/src/bcf/v2/bcfxml.py diff --git a/src/bcf/bcf/v2/data.py b/src/bcf/src/bcf/v2/data.py similarity index 100% rename from src/bcf/bcf/v2/data.py rename to src/bcf/src/bcf/v2/data.py diff --git a/src/bcf/bcf/v2/xsd/markup.xsd b/src/bcf/src/bcf/v2/xsd/markup.xsd similarity index 100% rename from src/bcf/bcf/v2/xsd/markup.xsd rename to src/bcf/src/bcf/v2/xsd/markup.xsd diff --git a/src/bcf/bcf/v2/xsd/project.xsd b/src/bcf/src/bcf/v2/xsd/project.xsd similarity index 100% rename from src/bcf/bcf/v2/xsd/project.xsd rename to src/bcf/src/bcf/v2/xsd/project.xsd diff --git a/src/bcf/bcf/v2/xsd/version.xsd b/src/bcf/src/bcf/v2/xsd/version.xsd similarity index 100% rename from src/bcf/bcf/v2/xsd/version.xsd rename to src/bcf/src/bcf/v2/xsd/version.xsd diff --git a/src/bcf/bcf/v2/xsd/visinfo.xsd b/src/bcf/src/bcf/v2/xsd/visinfo.xsd similarity index 100% rename from src/bcf/bcf/v2/xsd/visinfo.xsd rename to src/bcf/src/bcf/v2/xsd/visinfo.xsd diff --git a/src/bcf/src/bcf/v3/__init__.py b/src/bcf/src/bcf/v3/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/bcf/bcf/v3/bcfapi.py b/src/bcf/src/bcf/v3/bcfapi.py similarity index 100% rename from src/bcf/bcf/v3/bcfapi.py rename to src/bcf/src/bcf/v3/bcfapi.py diff --git a/src/bcf/bcf/v3/bcfxml.py b/src/bcf/src/bcf/v3/bcfxml.py similarity index 100% rename from src/bcf/bcf/v3/bcfxml.py rename to src/bcf/src/bcf/v3/bcfxml.py diff --git a/src/bcf/bcf/v3/data.py b/src/bcf/src/bcf/v3/data.py similarity index 100% rename from src/bcf/bcf/v3/data.py rename to src/bcf/src/bcf/v3/data.py diff --git a/src/bcf/bcf/v3/xsd/documents.xsd b/src/bcf/src/bcf/v3/xsd/documents.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/documents.xsd rename to src/bcf/src/bcf/v3/xsd/documents.xsd diff --git a/src/bcf/bcf/v3/xsd/extensions.xsd b/src/bcf/src/bcf/v3/xsd/extensions.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/extensions.xsd rename to src/bcf/src/bcf/v3/xsd/extensions.xsd diff --git a/src/bcf/bcf/v3/xsd/markup.xsd b/src/bcf/src/bcf/v3/xsd/markup.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/markup.xsd rename to src/bcf/src/bcf/v3/xsd/markup.xsd diff --git a/src/bcf/bcf/v3/xsd/project.xsd b/src/bcf/src/bcf/v3/xsd/project.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/project.xsd rename to src/bcf/src/bcf/v3/xsd/project.xsd diff --git a/src/bcf/bcf/v3/xsd/shared-types.xsd b/src/bcf/src/bcf/v3/xsd/shared-types.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/shared-types.xsd rename to src/bcf/src/bcf/v3/xsd/shared-types.xsd diff --git a/src/bcf/bcf/v3/xsd/version.xsd b/src/bcf/src/bcf/v3/xsd/version.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/version.xsd rename to src/bcf/src/bcf/v3/xsd/version.xsd diff --git a/src/bcf/bcf/v3/xsd/visinfo.xsd b/src/bcf/src/bcf/v3/xsd/visinfo.xsd similarity index 100% rename from src/bcf/bcf/v3/xsd/visinfo.xsd rename to src/bcf/src/bcf/v3/xsd/visinfo.xsd