Skip to content

Commit

Permalink
Publish IfcCSV to PyPI
Browse files Browse the repository at this point in the history
  • Loading branch information
Moult committed Apr 8, 2024
1 parent c89b84f commit 35dd036
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/ci-ifccsv-pypi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: ci-ifccsv-pypi

on:
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# * * * * *
- cron: "0 0 18 * *"
workflow_dispatch:

env:
major: 0
minor: 0
name: ifcopenshell

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/ifccsv &&
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/ifccsv/dist
34 changes: 34 additions & 0 deletions src/ifccsv/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# IfcCSV - A utility to interact with IFC data through CSV.
# Copyright (C) 2020, 2021 Dion Moult <dion@thinkmoult.com>
#
# This file is part of IfcCSV.
#
# IfcCSV 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.
#
# IfcCSV 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 IfcCSV. If not, see <http://www.gnu.org/licenses/>.

VERSION:=`date '+%y%m%d'`
SED:=sed -i
ifeq ($(UNAME_S),Darwin)
SED:=sed -i '' -e
endif

.PHONY: qa
qa:
black .

.PHONY: dist
dist:
rm -rf dist
$(SED) "s/999999/$(VERSION)/" pyproject.toml
python -m build
$(SED) "s/$(VERSION)/999999/" pyproject.toml
29 changes: 29 additions & 0 deletions src/ifccsv/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "ifccsv"
version = "0.0.999999"
authors = [
{ name="Dion Moult", email="dion@thinkmoult.com" },
]
description = "IFC import and export from CSV, XLSX, ODS, and Pandas Dataframes"
readme = "README.md"
keywords = ["IFC", "CSV", "XLS", "XLSX", "ODS", "BIM"]
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
]
dependencies = [
"ifcopenshell",
]

[project.urls]
Homepage = "http://ifcopenshell.org"
Documentation = "https://docs.ifcopenshell.org"
Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues"

[tool.setuptools.packages.find]
include = ["ifccsv"]
exclude = ["test*"]

0 comments on commit 35dd036

Please sign in to comment.