Skip to content

Commit 90c5e73

Browse files
(dev) continue with distribution
1 parent 93e27af commit 90c5e73

4 files changed

Lines changed: 76 additions & 23 deletions

File tree

.gitignore

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
1-
librayforce.dylib
2-
rayforce/rayforce/
3-
build/
4-
.vscode
5-
__pycache__
6-
_rayforce.c*.so
7-
_rayforce_c.so
8-
.pytest_cache
1+
# Tests
92
.ruff_cache
3+
.pytest_cache
104
.mypy_cache
11-
tmp/
12-
.DS_Store
5+
6+
# Binaries
7+
rayforce/rayforce/
138
rayforce.so
9+
_rayforce_c.so
10+
_rayforce_c.dylib
1411
librayforce.so
15-
libraykx.*
16-
17-
script.py
12+
librayforce.dylib
13+
libraykx.so
14+
libraykx.dylib
1815

16+
# Wheel Build
17+
build/
18+
tmp/
1919
dist/
20-
*.egg-info/
20+
wheelhouse/
21+
*.egg-info/
22+
23+
# Misc
24+
.vscode
25+
__pycache__
26+
script.py
27+
.DS_Store

pyproject.toml

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,48 @@
1-
[tool.ruff]
2-
lint.ignore = ["F403", "F405"]
3-
exclude = ["__init__.pyi"]
1+
[build-system]
2+
requires = ["setuptools>=45", "wheel", "setuptools-scm"]
3+
build-backend = "setuptools.build_meta"
44

5-
[tool.mypy]
6-
follow_imports = "skip"
5+
[project]
6+
name = "rayforce_py"
7+
version = "1.3.0-beta"
8+
description = "Python bindings for RayforceDB"
9+
readme = "README.md"
10+
authors = [{name = "Karim"}]
11+
license = {text = "MIT"}
12+
requires-python = ">=3.11"
13+
classifiers = [
14+
"Development Status :: 4 - Beta",
15+
"Intended Audience :: Developers",
16+
"Intended Audience :: Financial and Insurance Industry",
17+
"Intended Audience :: Information Technology",
18+
"License :: OSI Approved :: MIT License",
19+
"Programming Language :: Python :: 3.11",
20+
"Programming Language :: Python :: 3.12",
21+
"Programming Language :: Python :: 3.13",
22+
"Programming Language :: C"
23+
]
24+
25+
[tool.cibuildwheel]
26+
build = "cp310-* cp311-* cp312-* cp313-*"
27+
skip = "*-win32 *-manylinux_i686 *-musllinux_*"
28+
archs = ["auto64"]
29+
before-build = "bash {project}/scripts/prepare_build.sh"
30+
repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}"
31+
32+
test-skip = "*" # Skip tests for now
33+
34+
[tool.cibuildwheel.environment]
35+
RAYFORCE_GITHUB = "https://github.com/RayforceDB/rayforce.git"
36+
37+
[tool.cibuildwheel.macos]
38+
environment = { MACOSX_DEPLOYMENT_TARGET = "11.0" }
39+
40+
[tool.cibuildwheel.linux]
41+
manylinux-x86_64-image = "manylinux_2_28"
42+
manylinux-aarch64-image = "manylinux_2_28"
43+
44+
before-all = [
45+
"yum install -y git",
46+
"yum groupinstall -y 'Development Tools'",
47+
"yum install -y clang llvm",
48+
]

rayforce/rayforce_c.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#define PY_SSIZE_T_CLEAN
12
#include <string.h>
23
#include <Python.h>
34
#include "rayforce.h"

setup.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44

55
class BinaryDistribution(Distribution):
6-
"""Force platform-specific wheel."""
76
def has_ext_modules(self):
87
return True
98

@@ -18,16 +17,20 @@ def has_ext_modules(self):
1817
},
1918
include_package_data=True,
2019
zip_safe=False,
21-
python_requires='>=3.13',
20+
python_requires='>=3.11',
2221
description='Python bindings for RayforceDB',
2322
long_description=open('README.md').read(),
2423
long_description_content_type='text/markdown',
25-
author='Karim',
24+
author='FalsePublicEnemy',
2625
license='MIT',
2726
classifiers=[
28-
'Development Status :: 3 - Alpha',
27+
'Development Status :: 4 - Beta',
2928
'Intended Audience :: Developers',
29+
'Intended Audience :: Financial and Insurance Industry',
30+
'Intended Audience :: Information Technology',
3031
'License :: OSI Approved :: MIT License',
32+
'Programming Language :: Python :: 3.11',
33+
'Programming Language :: Python :: 3.12',
3134
'Programming Language :: Python :: 3.13',
3235
'Programming Language :: C',
3336
],

0 commit comments

Comments
 (0)