- Set
PYO3_BUILD_EXTENSION_MODULEenvironment variable when building PyO3 extensions. #540
- Fix finding cargo artifacts when filenames are empty. #521
- Drop support for Python 3.8. #479
- Support free-threaded Python. #502
- Support adding custom env vars. #504
- Fix deprecation warning from use of
wheel.bdist_wheel.
- Fix regression in 1.10.0 where editable builds would be built in release mode
- Add
SETUPTOOLS_RUST_PEP517_USE_BASE_PYTHONenvironment variable to use the base interpreter path when running inside a virtual environment to avoid recompilation when switching between virtual environments. #429 - Delay import of dependencies until use to avoid import errors during a partially complete install when multiple packages are installing at once. #437
- Deprecate
--build-tempargument tobuild_rustcommand (it does nothing). #457
- Deprecate
py_limited_apioption toRustExtensionin favour of always using"auto"to configure this frombdist_wheel. #410
- Fix regression in
install_extensioncrashing since 1.8.0. #380
- Add support for setting a custom cargo profile with the
SETUPTOOLS_RUST_CARGO_PROFILEenvironment variable. #364
- Remove direct imports from
distutils. #336 - Include
py.typedwhen packaging to denote that setuptools-rust includes type hints. #338
- Add support for
pyproject.tomlconfiguration using[tool.setuptools-rust]options. #348
- Fix
plat_namehandling in the casebdist_wheel.plat_nameis set via configuration file (e.g.,setup.cfg). #352
- Prefer passing
--crate-typeoption to cargo if "toolchain >= 1.64". #322
- Fix a bug where rebuilding the library would cause any running processes using it to segfault. #295
- Fix
setup.cfgformat for compatibility with "poetry==1.4.0". #319
- Fix regression in
dylibbuild artifacts not being found since 1.5.0. #290 - Fix regression in sdist missing examples and other supplementary files since 1.5.0. #291
- Fix regression in
get_lib_namecrashing since 1.5.0. #280 - Fix regression in
Binding.Execbuilds with multiple executables not finding built executables since 1.5.0. #283
- Add support for extension modules built for wasm32-unknown-emscripten with Pyodide. #244
- Locate cdylib artifacts by handling messages from cargo instead of searching target dir (fixes build on MSYS2). #267
- No longer guess cross-compile environment using
HOST_GNU_TYPE/BUILD_GNU_TYPEsysconfig variables. #269
- Fix crash when checking Rust version. #263
- Increase minimum
setuptoolsversion to 62.4. #246
- Add
cargo_manifest_argsto support locked, frozen and offline builds. #234 - Add
RustBinfor packaging binaries in scripts data directory. #248
ExecbindingRustExtensionwithscript=Trueis deprecated in favor ofRustBin. #248- Errors while calling
cargo metadataare now reported back to the user #254 quietoption will now suppress output ofcargo metadata. #256setuptools-rustwill now matchcargobehavior of not setting--targetwhen the selected target is the rust host. #258- Deprecate
nativeoption ofRustExtension. #258
- If the sysconfig for
BLDSHAREDhas no flags,setuptools-rustwon't crash anymore. #241
- Increase minimum
setuptoolsversion to 58. #222
- Fix crash when
python-distutils-extralinux package is installed. #222 - Fix sdist built with vendored dependencies on Windows having incorrect cargo config. #223
- Drop support for Python 3.6. #209
- Fix building macOS arm64 wheel with cibuildwheel. #217
- Removed dependency on
tomlito simplify installation. #200 - Improve error messages on invalid inputs to
rust_extensionskeyword. #203
- Fix regression from
setuptools-rust1.1.0 which broke builds for thex86_64-unknown-linux-musltarget. #194 - Fix
--targetcommand line option being unable to take a value. #195 - Fix regression from
setuptools-rust1.0.0 which broke builds on arm64 macos conda builds. #196 - Fix regression from
setuptools-rust1.1.0 which incorrectly converted library extension suffixes to the "abi3" suffix whenpy_limited_apiwas unspecified. #197
- Fix incompatibility with Python 3.6.0 using default values for NamedTuple classes. #184
- Stop forcing the
msvcRust toolchain for Windows environments using thegnutoolchain. #187
- Add
--targetcommand line option for specifying target triple. #136 - Add new default
"auto"setting forRustExtension.py_limited_api. #137 - Support very verbose cargo build.rs output. #140
- Switch to
tomlidependency. #174
- Remove
test_rustcommand. (python setup.py testis deprecated.) #129 - Remove
check_rustcommand. #131 - Move
tomlgen_rustcommand to separatesetuptools-rust-tomlgenpackage. #167
- Use info from sysconfig when cross-compiling. #139
- Put Rust extension module binary under
build/lib.*directory. #150 - Fix
Execbinding with console scripts. #154
- Fix some files unexpectedly missing from
sdistcommand output. #125
- Bump minimum Python version to Python 3.6.
- Support building x86-64 wheel on arm64 macOS machine. #114
- Add macOS universal2 wheel building support. #115
- Add option to cargo vendor crates into sdist. #118
- Respect
PYO3_PYTHONandPYTHON_SYS_EXECUTABLEenvironment variables if set. #96 - Add runtime dependency on setuptools >= 46.1. #102
- Append to, rather than replace, existing
RUSTFLAGSwhen building. #103
- Set executable bit on shared library. #110
- Don't require optional
wheeldependency. #111 - Set a more reasonable LC_ID_DYLIB entry on macOS. #119
- Respect
CARGO_BUILD_TARGETenvironment variable if set. #90 - Add
setuptools_rust.__version__and require setuptools >= 46.1. #93
- Fix support for Python 3.5. #86
- Fix further cases of building for 32-bit Python on 64-bit Windows. #87
- Fix building on Linux distributions that use musl (e.g. Alpine) out of the box. #80
- Fix support for namespace packages. #79
- Fix building for 32-bit Python on 64-bit Windows. #77
- Remove python 2 support. #53
- Fix compatibility with
cffi. #68 - Add support for pyo3
0.12'sPYO3_PYTHONsetting. #71
- Fix tomlgen_rust generating invalid
Cargo.tomlfiles. - Fix tomlgen_rust setting wrong path in
.cargo/config.
- Added license file #41
- Add
html-py-everexample
pathinRustExtensionnow defaults toCargo.toml
- Add
rustc_flagsandverboseas options - Adopted black code style
- Moved changelog to markdown
- This release significantly improves performance
- Fix build_rust crashing on Cargo.toml manifests without a name key in the [lib] section
- Fix single quotes not being handled when parsing Cargo.toml
- Remove unicode_literals import as Python 2
distutilsdoes not support Unicode
- Find inplace extensions and automatically generate
Cargo.tomlmanifests #29
- Improve compatibility of build_rust with build_ext #28
- Ignore strip option when platform is win32 #26
- Fix script generation for bdist_wheel
- Added native parameter
- Fix script generation for executables
- Support multiple rust binaries #24
- Generate console-script for Binding.Exec #22
- Do not run cargo check for sdist command #18
- Remove extra python3 file extension for executables.
- Allow to strip symbols from executable or dynamic library.
- Use PyO3 0.2 for example.
- Allow to build executable and pack with python package.
- Use PyO3 0.1 for example.
- check command respects optional option
- Don't fail when Rust isn't installed while all extensions are optional
- Fix pypi source distribution
- Add optional option to RustExtension #16
- Support CARGO_TARGET_DIR variable #14
- Add support for PyO3 project https://github.com/PyO3/PyO3
- Add support for no-binding mode
- Added support for "cargo test"
- Fixed unbound method type error #4
- Added support for "cargo check"
- Added "--qbuild" option for "build_rust" command. Set "quiet" mode for all extensions.
- Added "--debug" and "--release" options for "build_rust" command.
- Fixed cargo manifest absolute path detection
- Fixed bdist_egg and bdist_wheel support
- setuptool's clean command cleans rust project as well
- Use absolute path to cargo manifest
- Enable debug builds for inplace builds, otherwise build release
- Simplify monkey patches
- Fix compatibility with some old versions of setuptools
- Fixed OSX extension compilation
- Use distutils exceptions for errors
- Add rust version check for extension
- Cleanup example project
- Fix bdist_egg and bdist_wheel commands
- Initial release