Distribute IfcCityJSON on PyPI

This commit is contained in:
Dion Moult
2024-06-26 13:53:55 +10:00
parent f740ca3cf1
commit b85dcdb437
5 changed files with 92 additions and 8 deletions
@@ -0,0 +1,35 @@
name: ci-ifccityjson-pypi
on:
workflow_dispatch:
jobs:
activate:
runs-on: ubuntu-latest
if: |
github.repository == 'IfcOpenShell/IfcOpenShell'
steps:
- name: Set env
run: echo ok go
build:
needs: activate
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2 # https://github.com/actions/setup-python
with:
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
- name: Compile
run: |
pip install build
cd src/ifccityjson &&
make dist
- name: Publish a Python distribution to PyPI
uses: ortega2247/pypi-upload-action@master
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: src/ifccityjson/dist
+38
View File
@@ -0,0 +1,38 @@
# IfcCityJSON - Python CityJSON to IFC converter
# Copyright (C) 2020-2024 Dion Moult <dion@thinkmoult.com>
#
# This file is part of IfcCityJSON.
#
# IfcCityJSON is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# IfcCityJSON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with IfcCityJSON. If not, see <http://www.gnu.org/licenses/>.
VERSION:=$(shell cat ../../VERSION)
SED:=sed -i
ifeq ($(UNAME_S),Darwin)
SED:=sed -i '' -e
endif
.PHONY: qa
qa:
black .
.PHONY: dist
dist:
rm -rf dist
cp pyproject.toml pyproject.toml.bak
cp ifccityjson/__init__.py __init__.py.bak
$(SED) 's/version = "0.0.0"/version = "$(VERSION)"/' pyproject.toml
$(SED) 's/version = "0.0.0"/version = "$(VERSION)"/' ifccityjson/__init__.py
python -m build
mv pyproject.toml.bak pyproject.toml
mv __init__.py.bak ifccityjson/__init__.py
+1 -3
View File
@@ -1,4 +1,3 @@
# ifccityjson - Python CityJSON to IFC converter
# Copyright (C) 2021 Laurens J.N. Oostwegel <l.oostwegel@gmail.com>
#
@@ -19,5 +18,4 @@
from .cityjson2ifc import *
# Export version number
__version__ = "0.0.1"
__version__ = version = "0.0.0"
+11 -5
View File
@@ -4,22 +4,28 @@ build-backend = "setuptools.build_meta"
[project]
name = "ifccityjson"
version = "0.1.0"
version = "0.0.0"
authors = [
{ name = "Laurens J.N. Oostwegel", email = "l.oostwegel@gmail.com" },
{ name = "Balázs Dukai", email = "balazs.dukai@3dgi.nl" },
]
description = "Converter for CityJSON files and IFC"
readme = "README.md"
keywords = ["IFC", "CityJSON"]
keywords = ["IFC", "CityJSON", "BIM"]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
]
dependencies = [
"ifcopenshell>=0.7",
"ifcopenshell",
"cjio>=0.8"
]
[project.urls]
"Homepage" = "http://ifcopenshell.org"
"Bug Tracker" = "https://github.com/ifcopenshell/ifcopenshell/issues"
Homepage = "http://ifcopenshell.org"
Documentation = "https://docs.ifcopenshell.org"
Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues"
[tool.setuptools.packages.find]
include = ["ifccityjson"]
exclude = ["test*"]
@@ -4,6 +4,13 @@ IfcCityJSON
IfcCityJSON is a converter for CityJSON files and IFC. It currently only
supports one-way conversion from CityJSON to IFC.
PyPI
----
.. code-block::
pip install ifccityjson
Source installation
-------------------