From d4ace423a3fc473d11344d51a20f06d285f23f35 Mon Sep 17 00:00:00 2001 From: krande Date: Wed, 25 Aug 2021 08:41:08 +0200 Subject: [PATCH] Prep BCF for pypi upload. * Refactored the BCF dir into a "src-layout" which I am more comfortable with. We can likely change this back if it is not compatible with other development * I added a few setup files for the bcf package (setup.cfg, pyproject.toml and a MANIFEST.in file) * Added two __init__.py files in the v2 and v3 subfolders for them to be picked up during package compilation --- .github/workflows/ci.yml | 3 +- src/bcf/MANIFEST.in | 2 + src/bcf/pyproject.toml | 12 ++++++ src/bcf/setup.cfg | 37 +++++++++++++++++++ src/bcf/{ => src}/bcf/__init__.py | 0 src/bcf/{ => src}/bcf/bcfxml.py | 0 src/bcf/src/bcf/v2/__init__.py | 0 src/bcf/{ => src}/bcf/v2/bcfxml.py | 0 src/bcf/{ => src}/bcf/v2/data.py | 0 src/bcf/{ => src}/bcf/v2/xsd/markup.xsd | 0 src/bcf/{ => src}/bcf/v2/xsd/project.xsd | 0 src/bcf/{ => src}/bcf/v2/xsd/version.xsd | 0 src/bcf/{ => src}/bcf/v2/xsd/visinfo.xsd | 0 src/bcf/src/bcf/v3/__init__.py | 0 src/bcf/{ => src}/bcf/v3/bcfapi.py | 0 src/bcf/{ => src}/bcf/v3/bcfxml.py | 0 src/bcf/{ => src}/bcf/v3/data.py | 0 src/bcf/{ => src}/bcf/v3/xsd/documents.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/extensions.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/markup.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/project.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/shared-types.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/version.xsd | 0 src/bcf/{ => src}/bcf/v3/xsd/visinfo.xsd | 0 24 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/bcf/MANIFEST.in create mode 100644 src/bcf/pyproject.toml create mode 100644 src/bcf/setup.cfg rename src/bcf/{ => src}/bcf/__init__.py (100%) rename src/bcf/{ => src}/bcf/bcfxml.py (100%) create mode 100644 src/bcf/src/bcf/v2/__init__.py rename src/bcf/{ => src}/bcf/v2/bcfxml.py (100%) rename src/bcf/{ => src}/bcf/v2/data.py (100%) rename src/bcf/{ => src}/bcf/v2/xsd/markup.xsd (100%) rename src/bcf/{ => src}/bcf/v2/xsd/project.xsd (100%) rename src/bcf/{ => src}/bcf/v2/xsd/version.xsd (100%) rename src/bcf/{ => src}/bcf/v2/xsd/visinfo.xsd (100%) create mode 100644 src/bcf/src/bcf/v3/__init__.py rename src/bcf/{ => src}/bcf/v3/bcfapi.py (100%) rename src/bcf/{ => src}/bcf/v3/bcfxml.py (100%) rename src/bcf/{ => src}/bcf/v3/data.py (100%) rename src/bcf/{ => src}/bcf/v3/xsd/documents.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/extensions.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/markup.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/project.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/shared-types.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/version.xsd (100%) rename src/bcf/{ => src}/bcf/v3/xsd/visinfo.xsd (100%) 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