Python binding to rust zw-fast-quantile

Overview

zw_fast_quantile_py

CI

zw-fast-quantile python binding

Installation

pip install zw_fast_quantile_py

Usage

import zw_fast_quantile_py

summary = zw_fast_quantile_py.QuantileSummary(0.01)

for i in range(0, 10):
    summary.update(i)

summary.query(0.0)
Comments
  • Bump ordered-float from 2.8.0 to 3.3.0

    Bump ordered-float from 2.8.0 to 3.3.0

    Bumps ordered-float from 2.8.0 to 3.3.0.

    Release notes

    Sourced from ordered-float's releases.

    v3.2.0

    • Implement LowerExp and UpperExp (scientific notation) display formatting traits (#112).

    v3.1.0

    • Implement AsPrimitive for OrderedFloat (#110)

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).

    v2.10.0

    • Add optional support for the arbitrary crate (#104).

    v2.9.0

    • Implement Borrow for NotNan (#98).
    • Implement From for integer to NotNan conversions (#103).
    • Reduce the amount of unsafe code (#99).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.17.2

    Bump pyo3 from 0.15.1 to 0.17.2

    Bumps pyo3 from 0.15.1 to 0.17.2.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.17.2

    This release contains non-breaking improvements and bugfixes over PyO3 0.17.1.

    A new chrono feature has been added to support converting from types in chrono to types in the Python datetime module. The num-bigint feature has been expanded to add support to PyPy.

    There has also been fixes for a couple of regressions observed in PyO3 0.17.

    Thank you to the following users for the improvements:

    @​adamreichold @​AdilZouitine @​davidhewitt @​messense @​mrob95 @​Oppen @​prehner @​Psykopear @​ryanrussell @​smheidrich @​SquidDev

    PyO3 0.17.1

    This release contains some minor bug fixes for PyO3 0.17.0. In particular the new PyDictItems, PyDictKeys and PyDictValues types are actually accessible!

    Thanks to @​davidhewitt, @​messense and @​PrettyWood for the fixes.

    PyO3 0.17.0

    This release contains a focus on quality improvements over the PyO3 0.16 releases.

    There have been new API types added such as PyDictKeys, PyDictValues, PyDictItems, PyCode, PyFrame, and PySuper. The PyMapping and PySequence types have changed so they are more directly compatible with the corresponding Python Mapping and Sequence base classes in the collections.abc module (this is a breaking change).

    A new #[pyclass(frozen)] option has been added to opt-out of runtime borrow checking by removing the ability to access &mut self for objects owned by Python.

    There have been a number of soundness fixes, both to the PyCapsule type (see the CHANGELOG for more details) and to a number of FFI bindings which had fallen out of sync with newer Python and PyPy releases.

    There have been numerous other smaller improvements, changes and fixes. For full details see the CHANGELOG.

    Please consult the migration guide for help upgrading.

    Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:

    @​acshi @​aganders3 @​alex @​birkenfeld @​cjermain @​Cryptex-github @​cuishuang @​davidhewitt @​drewkett

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.17.2] - 2022-10-04

    Packaging

    • Added optional chrono feature to convert chrono types into types in the datetime module. #2612

    Added

    • Add support for num-bigint feature on PyPy. #2626

    Fixed

    • Correctly implement __richcmp__ for enums, fixing __ne__ returning always returning True. #2622
    • Fix compile error since 0.17.0 with Option<&SomePyClass> argument with a default. #2630
    • Fix regression of impl FromPyObject for Vec<T> no longer accepting types passing PySequence_Check, e.g. NumPy arrays, since 0.17.0. #2631

    [0.17.1] - 2022-08-28

    Fixed

    • Fix visibility of PyDictItems, PyDictKeys, and PyDictValues types added in PyO3 0.17.0.
    • Fix compile failure when using #[pyo3(from_py_with = "...")] attribute on an argument of type Option<T>. #2592
    • Fix clippy redundant-closure lint on **kwargs arguments for #[pyfunction] and #[pymethods]. #2595

    [0.17.0] - 2022-08-23

    Packaging

    • Update inventory dependency to 0.3 (the multiple-pymethods feature now requires Rust 1.62 for correctness). #2492

    Added

    • Add timezone_utc. #1588
    • Implement ToPyObject for [T; N]. #2313
    • Add PyDictKeys, PyDictValues and PyDictItems Rust types. #2358
    • Add append_to_inittab. #2377
    • Add FFI definition PyFrame_GetCode. #2406
    • Add PyCode and PyFrame high level objects. #2408
    • Add FFI definitions Py_fstring_input, sendfunc, and _PyErr_StackItem. #2423
    • Add PyDateTime::new_with_fold, PyTime::new_with_fold, PyTime::get_fold, and PyDateTime::get_fold for PyPy. #2428
    • Accept #[pyo3(name)] on enum variants. #2457
    • Add CompareOp::matches to implement __richcmp__ as the result of a Rust std::cmp::Ordering comparison. #2460
    • Add PySuper type. #2486
    • Support PyPy on Windows with the generate-import-lib feature. #2506
    • Add FFI definitions Py_EnterRecursiveCall and Py_LeaveRecursiveCall. #2511
    • Add PyDict::get_item_with_error. #2536
    • Add #[pyclass(sequence)] option. #2567

    Changed

    ... (truncated)

    Commits
    • 067f564 release: 0.17.2
    • a549c55 guide: doctest function/ subpages
    • 2708270 docs: note that #[pymodule] will create hidden module, like #[pyfunction]
    • 470acbb Improve PyLong/PyFloat doc links to PyAny::extract
    • 023d7fe Fix links to ToPyObject in types docs
    • de980c7 docs: fixed typo in error_handling.md
    • faf1f0e Document needing resolve-config for pyo3 cfgs
    • 9b42daa Fix pyo3-build-config version in docs
    • fa6e199 Add git repository and edit urls to user guide (#2635)
    • 5adccb2 fixup 1.64
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump ordered-float from 2.8.0 to 3.2.0

    Bump ordered-float from 2.8.0 to 3.2.0

    Bumps ordered-float from 2.8.0 to 3.2.0.

    Release notes

    Sourced from ordered-float's releases.

    v3.2.0

    • Implement LowerExp and UpperExp (scientific notation) display formatting traits (#112).

    v3.1.0

    • Implement AsPrimitive for OrderedFloat (#110)

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).

    v2.10.0

    • Add optional support for the arbitrary crate (#104).

    v2.9.0

    • Implement Borrow for NotNan (#98).
    • Implement From for integer to NotNan conversions (#103).
    • Reduce the amount of unsafe code (#99).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump ordered-float from 2.8.0 to 3.1.0

    Bump ordered-float from 2.8.0 to 3.1.0

    Bumps ordered-float from 2.8.0 to 3.1.0.

    Release notes

    Sourced from ordered-float's releases.

    v3.1.0

    • Implement AsPrimitive for OrderedFloat (#110)

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).

    v2.10.0

    • Add optional support for the arbitrary crate (#104).

    v2.9.0

    • Implement Borrow for NotNan (#98).
    • Implement From for integer to NotNan conversions (#103).
    • Reduce the amount of unsafe code (#99).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.17.1

    Bump pyo3 from 0.15.1 to 0.17.1

    Bumps pyo3 from 0.15.1 to 0.17.1.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.17.1

    This release contains some minor bug fixes for PyO3 0.17.0. In particular the new PyDictItems, PyDictKeys and PyDictValues types are actually accessible!

    Thanks to @​davidhewitt, @​messense and @​PrettyWood for the fixes.

    PyO3 0.17.0

    This release contains a focus on quality improvements over the PyO3 0.16 releases.

    There have been new API types added such as PyDictKeys, PyDictValues, PyDictItems, PyCode, PyFrame, and PySuper. The PyMapping and PySequence types have changed so they are more directly compatible with the corresponding Python Mapping and Sequence base classes in the collections.abc module (this is a breaking change).

    A new #[pyclass(frozen)] option has been added to opt-out of runtime borrow checking by removing the ability to access &mut self for objects owned by Python.

    There have been a number of soundness fixes, both to the PyCapsule type (see the CHANGELOG for more details) and to a number of FFI bindings which had fallen out of sync with newer Python and PyPy releases.

    There have been numerous other smaller improvements, changes and fixes. For full details see the CHANGELOG.

    Please consult the migration guide for help upgrading.

    Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:

    @​acshi @​aganders3 @​alex @​birkenfeld @​cjermain @​Cryptex-github @​cuishuang @​davidhewitt @​drewkett @​dswij @​herquan @​hoodmane @​ikrivosheev @​indygreg @​jeertmans @​jinlow @​jonaspleyer @​kngwyu @​mejrs @​messense @​n8henrie @​PigeonF @​PWhiddy @​ravenexp @​savente93 @​yankun1992 @​yodaldevoid

    PyO3 0.16.6

    This release is a tactical set of soundness fixes identified for the PyCapsule bindings released in PyO3 0.16. To avoid breaking API changes capsules created with PyCapsule::new and PyCapsule::new_with_destructor will now leak their contents (and not call the destructor) if released on a thread other than the one they were created.

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.17.1] - 2022-08-28

    Fixed

    • Fix visibility of PyDictItems, PyDictKeys, and PyDictValues types added in PyO3 0.17.0.
    • Fix compile failure when using #[pyo3(from_py_with = "...")] attribute on an argument of type Option<T>. #2592
    • Fix clippy redundant-closure lint on **kwargs arguments for #[pyfunction] and #[pymethods]. #2595

    [0.17.0] - 2022-08-23

    Packaging

    • Update inventory dependency to 0.3 (the multiple-pymethods feature now requires Rust 1.62 for correctness). #2492

    Added

    • Add timezone_utc. #1588
    • Implement ToPyObject for [T; N]. #2313
    • Add PyDictKeys, PyDictValues and PyDictItems Rust types. #2358
    • Add append_to_inittab. #2377
    • Add FFI definition PyFrame_GetCode. #2406
    • Add PyCode and PyFrame high level objects. #2408
    • Add FFI definitions Py_fstring_input, sendfunc, and _PyErr_StackItem. #2423
    • Add PyDateTime::new_with_fold, PyTime::new_with_fold, PyTime::get_fold, and PyDateTime::get_fold for PyPy. #2428
    • Accept #[pyo3(name)] on enum variants. #2457
    • Add CompareOp::matches to implement __richcmp__ as the result of a Rust std::cmp::Ordering comparison. #2460
    • Add PySuper type. #2486
    • Support PyPy on Windows with the generate-import-lib feature. #2506
    • Add FFI definitions Py_EnterRecursiveCall and Py_LeaveRecursiveCall. #2511
    • Add PyDict::get_item_with_error. #2536
    • Add #[pyclass(sequence)] option. #2567

    Changed

    • Change datetime constructors taking a tzinfo to take Option<&PyTzInfo> instead of Option<&PyObject>: PyDateTime::new, PyDateTime::new_with_fold, PyTime::new, and PyTime::new_with_fold. #1588
    • Move PyTypeObject::type_object method to the PyTypeInfo trait, and deprecate the PyTypeObject trait. #2287
    • Methods of Py and PyAny now accept impl IntoPy<Py<PyString>> rather than just &str to allow use of the intern! macro. #2312
    • Change the deprecated pyproto feature to be opt-in instead of opt-out. #2322
    • Emit better error messages when #[pyfunction] return types do not implement IntoPy. #2326
    • Require T: IntoPy for impl<T, const N: usize> IntoPy<PyObject> for [T; N] instead of T: ToPyObject. #2326
    • Deprecate the ToBorrowedObject trait. #2333
    • Iterators over PySet and PyDict will now panic if the underlying collection is mutated during the iteration. #2380
    • Iterators over PySet and PyDict will now panic if the underlying collection is mutated during the iteration. #2380
    • Allow #[classattr] methods to be fallible. #2385
    • Prevent multiple #[pymethods] with the same name for a single #[pyclass]. #2399
    • Fixup lib_name when using PYO3_CONFIG_FILE. #2404
    • Add a message to the ValueError raised by the #[derive(FromPyObject)] implementation for a tuple struct. #2414
    • Allow #[classattr] methods to take Python argument. #2456
    • Rework PyCapsule type to resolve soundness issues: #2485
      • PyCapsule::new and PyCapsule::new_with_destructor now take name: Option<CString> instead of &CStr.

    ... (truncated)

    Commits
    • caaf7bb release: 0.17.1
    • 511303a Merge pull request #2599 from davidhewitt/no-main-gh-pages
    • 3e15bb9 gh-pages: stop building guide for main
    • 9e9e913 Merge pull request #2595 from davidhewitt/kwargs-clippy
    • 058af11 pyfunction: fix clippy lint on **kwargs argument
    • 73c8532 Merge pull request #2592 from davidhewitt/issue-2280
    • 9d543b3 pyfunction: fix from_py_with on Option<T> argument
    • f927cdb Merge pull request #2558 from mejrs/cargo
    • 611ecc1 fix: export new dict views types (#2590)
    • c28e919 Merge pull request #2589 from davidhewitt/netlify-redirects
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.16.5

    Bump pyo3 from 0.15.1 to 0.16.5

    Bumps pyo3 from 0.15.1 to 0.16.5.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.16.5

    This release contains an FFI definition correction to resolve crashes for PyOxidizer on Python 3.10, and a new generate-import-lib feature to allow easier cross-compiling to Windows.

    Thank you to the following users for the improvements:

    @​cjermain @​davidhewitt @​indygreg @​messense

    PyO3 0.16.4

    This release fixes a regression introduced in 0.16.3 leading to build failures on Windows, enables crates depending on PyO3 to collect code coverage using LLVM instrumentation on stable Rust version 1.60 or later, and enables safe access to time zone information attached to Python's time and datetime objects. There are also some adjustments to PyO3's build-time interpreter detection to make it easier to cross-compile abi3 Python extensions.

    Thank you to the following users for the improvements:

    @​adamreichold @​davidhewitt @​mejrs @​messense @​pickfire @​ravenexp @​RicoHageman

    PyO3 0.16.3

    This release contains a number of non-breaking additions and fixes since PyO3 0.16.2.

    They are mostly centered on improving support for various build configurations. There are also usability tweaks to the #[pyclass] macro and a new intern! macro to create statically-backed PyString objects as an optimization technique.

    Thank you to the following users for the improvements:

    @​adamreichold @​aganders3 @​alex @​kmp1 @​mejrs @​messense @​mityax
    @​momirza @​ravenexp @​zh-jq

    PyO3 0.16.2

    This release contains support for the latest PyPy 7.3.8 release, a fix for a regression from PyO3 0.16.0 which would cause flaky build failures, and corrections to documentation.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.16.5] - 2022-05-15

    Added

    • Add an experimental generate-import-lib feature to support auto-generating non-abi3 python import libraries for Windows targets. #2364
    • Add FFI definition Py_ExitStatusException. #2374

    Changed

    • Deprecate experimental generate-abi3-import-lib feature in favor of the new generate-import-lib feature. #2364

    Fixed

    • Added missing warn_default_encoding field to PyConfig on 3.10+. The previously missing field could result in incorrect behavior or crashes. #2370
    • Fixed order of pathconfig_warnings and program_name fields of PyConfig on 3.10+. Previously, the order of the fields was swapped and this could lead to incorrect behavior or crashes. #2370

    [0.16.4] - 2022-04-14

    Added

    • Add PyTzInfoAccess trait for safe access to time zone information. #2263
    • Add an experimental generate-abi3-import-lib feature to auto-generate python3.dll import libraries for Windows. #2282
    • Add FFI definitions for PyDateTime_BaseTime and PyDateTime_BaseDateTime. #2294

    Changed

    • Improved performance of failing calls to FromPyObject::extract which is common when functions accept multiple distinct types. #2279
    • Default to "m" ABI tag when choosing libpython link name for CPython 3.7 on Unix. #2288
    • Allow to compile "abi3" extensions without a working build host Python interpreter. #2293

    Fixed

    • Crates depending on PyO3 can collect code coverage via LLVM instrumentation using stable Rust. #2286
    • Fix segfault when calling FFI methods PyDateTime_DATE_GET_TZINFO or PyDateTime_TIME_GET_TZINFO on datetime or time without a tzinfo. #2289
    • Fix directory names starting with the letter n breaking serialization of the interpreter configuration on Windows since PyO3 0.16.3. #2299

    [0.16.3] - 2022-04-05

    Packaging

    • Extend parking_lot dependency supported versions to include 0.12. #2239

    Added

    • Add methods to pyo3_build_config::InterpreterConfig to run Python scripts using the configured executable. #2092
    • Add as_bytes method to Py<PyBytes>. #2235
    • Add FFI definitions for PyType_FromModuleAndSpec, PyType_GetModule, PyType_GetModuleState and PyModule_AddType. #2250
    • Add pyo3_build_config::cross_compiling_from_to as a helper to detect when PyO3 is cross-compiling. #2253
    • Add #[pyclass(mapping)] option to leave sequence slots empty in container implementations. #2265
    • Add PyString::intern to enable usage of the Python's built-in string interning. #2268

    ... (truncated)

    Commits
    • 456a96d release: 0.16.5
    • da74187 Updating debugging docs with more info on rust-gdb (#2361)
    • c4414f3 Remove #[doc(hidden)] from trait impl items (#2365)
    • 11b97d3 Fix CI for hashbrown 0.12.1
    • 1149dcf Allow false positive clippy::unnecessary-wraps lint
    • f05cc91 Auto generate Windows import libraries when using a pyo3 config file
    • f60d24b Update changelog for #2364
    • 02e4f19 Change default python lib name for Windows when cross compiling
    • 7104a0c Add Windows non-abi3 cross compile test
    • 29b8731 Add support for generating non-abi3 python import libraries for Windows
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump ordered-float from 2.8.0 to 3.0.0

    Bump ordered-float from 2.8.0 to 3.0.0

    Bumps ordered-float from 2.8.0 to 3.0.0.

    Release notes

    Sourced from ordered-float's releases.

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).

    v2.10.0

    • Add optional support for the arbitrary crate (#104).

    v2.9.0

    • Implement Borrow for NotNan (#98).
    • Implement From for integer to NotNan conversions (#103).
    • Reduce the amount of unsafe code (#99).
    Commits
    • 96db24e Update README
    • e4b7c07 Version 3.0.0
    • a849e73 Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat
    • 61975f1 Add lossy conversion for NotNan\<f64> to NotNan\<f32> (#109)
    • 158a3ae Explains needless mut borrow
    • ba12cb5 Adds clippy and fmt check to CI
    • ed9dcd4 Bumps up schemars to the latest version (0.8.8)
    • 77b1457 Removes two needless borrows
    • 6d2f2d2 Version 2.10.0
    • fd3583f impl arbitrary::Arbitrary for NotNan and OrderedFloat.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.16.4

    Bump pyo3 from 0.15.1 to 0.16.4

    Bumps pyo3 from 0.15.1 to 0.16.4.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.16.4

    This release fixes a regression introduced in 0.16.3 leading to build failures on Windows, enables crates depending on PyO3 to collect code coverage using LLVM instrumentation on stable Rust version 1.60 or later, and enables safe access to time zone information attached to Python's time and datetime objects. There are also some adjustments to PyO3's build-time interpreter detection to make it easier to cross-compile abi3 Python extensions.

    Thank you to the following users for the improvements:

    @​adamreichold @​davidhewitt @​mejrs @​messense @​pickfire @​ravenexp @​RicoHageman

    PyO3 0.16.3

    This release contains a number of non-breaking additions and fixes since PyO3 0.16.2.

    They are mostly centered on improving support for various build configurations. There are also usability tweaks to the #[pyclass] macro and a new intern! macro to create statically-backed PyString objects as an optimization technique.

    Thank you to the following users for the improvements:

    @​adamreichold @​aganders3 @​alex @​kmp1 @​mejrs @​messense @​mityax
    @​momirza @​ravenexp @​zh-jq

    PyO3 0.16.2

    This release contains support for the latest PyPy 7.3.8 release, a fix for a regression from PyO3 0.16.0 which would cause flaky build failures, and corrections to documentation.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​messense

    PyO3 0.16.1

    This release contains a couple of fixes for regressions in PyO3 0.16.0, as well as documentation fixes. The hashbrown optional dependency range has been extended to include its new 0.12 version.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.16.4] - 2022-04-14

    Added

    • Add PyTzInfoAccess trait for safe access to time zone information. #2263
    • Add an experimental generate-abi3-import-lib feature to auto-generate python3.dll import libraries for Windows. #2282
    • Add FFI definitions for PyDateTime_BaseTime and PyDateTime_BaseDateTime. #2294

    Changed

    • Improved performance of failing calls to FromPyObject::extract which is common when functions accept multiple distinct types. #2279
    • Default to "m" ABI tag when choosing libpython link name for CPython 3.7 on Unix. #2288
    • Allow to compile "abi3" extensions without a working build host Python interpreter. #2293

    Fixed

    • Crates depending on PyO3 can collect code coverage via LLVM instrumentation using stable Rust. #2286
    • Fix segfault when calling FFI methods PyDateTime_DATE_GET_TZINFO or PyDateTime_TIME_GET_TZINFO on datetime or time without a tzinfo. #2289
    • Fix directory names starting with the letter n breaking serialization of the interpreter configuration on Windows since PyO3 0.16.3. #2299

    [0.16.3] - 2022-04-05

    Packaging

    • Extend parking_lot dependency supported versions to include 0.12. #2239

    Added

    • Add methods to pyo3_build_config::InterpreterConfig to run Python scripts using the configured executable. #2092
    • Add as_bytes method to Py<PyBytes>. #2235
    • Add FFI definitions for PyType_FromModuleAndSpec, PyType_GetModule, PyType_GetModuleState and PyModule_AddType. #2250
    • Add pyo3_build_config::cross_compiling_from_to as a helper to detect when PyO3 is cross-compiling. #2253
    • Add #[pyclass(mapping)] option to leave sequence slots empty in container implementations. #2265
    • Add PyString::intern to enable usage of the Python's built-in string interning. #2268
    • Add intern! macro which can be used to amortize the cost of creating Python strings by storing them inside a GILOnceCell. #2269
    • Add PYO3_CROSS_PYTHON_IMPLEMENTATION environment variable for selecting the default cross Python implementation. #2272

    Changed

    • Allow #[pyo3(crate = "...", text_signature = "...")] options to be used directly in #[pyclass(crate = "...", text_signature = "...")]. #2234
    • Make PYO3_CROSS_LIB_DIR environment variable optional when cross compiling. #2241
    • Mark METH_FASTCALL calling convention as limited API on Python 3.10. #2250
    • Deprecate pyo3_build_config::cross_compiling in favour of pyo3_build_config::cross_compiling_from_to. #2253

    Fixed

    • Fix abi3-py310 feature: use Python 3.10 ABI when available instead of silently falling back to the 3.9 ABI. #2242
    • Use shared linking mode when cross compiling against a Framework bundle for macOS. #2233
    • Fix panic during compilation when PYO3_CROSS_LIB_DIR is set for some host/target combinations. #2232
    • Correct dependency version for syn to require minimal patch version 1.0.56. #2240

    ... (truncated)

    Commits
    • d2caa05 release: 0.16.4
    • 8cd551f Merge pull request #2293 from ravenexp/abi3-no-python
    • c2d44ac Merge pull request #2263 from pickfire/pytzinfoaccess
    • 0d0089e Remove redundant use statements and add missing calls to add_function in date...
    • ae7e1f5 pyo3-build-config: Build "abi3" extensions without an interpreter
    • 9e605da Merge pull request #2299 from PyO3/hex-intp-cfg
    • 58b7081 Use more robust hexadecimal escaping of interpreter configuration.
    • 366bcd1 Merge pull request #2297 from messense/pip-install-cargo-xwin
    • a1f97f1 Add PyTzInfoAccess
    • 57412f1 Install cargo-xwin from PyPI to speedup CI
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.16.3

    Bump pyo3 from 0.15.1 to 0.16.3

    Bumps pyo3 from 0.15.1 to 0.16.3.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.16.3

    This release contains a number of non-breaking additions and fixes since PyO3 0.16.2.

    They are mostly centered on improving support for various build configurations. There are also usability tweaks to the #[pyclass] macro and a new intern! macro to create statically-backed PyString objects as an optimization technique.

    Thank you to the following users for the improvements:

    @​adamreichold @​aganders3 @​alex @​kmp1 @​mejrs @​messense @​mityax
    @​momirza @​ravenexp @​zh-jq

    PyO3 0.16.2

    This release contains support for the latest PyPy 7.3.8 release, a fix for a regression from PyO3 0.16.0 which would cause flaky build failures, and corrections to documentation.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​messense

    PyO3 0.16.1

    This release contains a couple of fixes for regressions in PyO3 0.16.0, as well as documentation fixes. The hashbrown optional dependency range has been extended to include its new 0.12 version.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​JerzySpendel @​mejrs @​messense @​PanQL

    PyO3 0.16.0

    This release contains substantial changes and improvements over PyO3 0.15.1. To support these improvements, support has been dropped for the end-of-life Python 3.6 and Rust versions older than 1.48.

    The pyo3::ffi submodule has been split out into a separate pyo3-ffi crate, so that users who want to use PyO3's Python bindings without any of the safe APIs or macros are able to do so.

    #[pyclass] can now be used on simple "C-like" enums to create Python enums.

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.16.3] - 2022-04-05

    Packaging

    • Extend parking_lot dependency supported versions to include 0.12. #2239

    Added

    • Add methods to pyo3_build_config::InterpreterConfig to run Python scripts using the configured executable. #2092
    • Add as_bytes method to Py<PyBytes>. #2235
    • Add FFI definitions for PyType_FromModuleAndSpec, PyType_GetModule, PyType_GetModuleState and PyModule_AddType. #2250
    • Add pyo3_build_config::cross_compiling_from_to as a helper to detect when PyO3 is cross-compiling. #2253
    • Add #[pyclass(mapping)] option to leave sequence slots empty in container implementations. #2265
    • Add PyString::intern to enable usage of the Python's built-in string interning. #2268
    • Add intern! macro which can be used to amortize the cost of creating Python strings by storing them inside a GILOnceCell. #2269
    • Add PYO3_CROSS_PYTHON_IMPLEMENTATION environment variable for selecting the default cross Python implementation. #2272

    Changed

    • Allow #[pyo3(crate = "...", text_signature = "...")] options to be used directly in #[pyclass(crate = "...", text_signature = "...")]. #2234
    • Make PYO3_CROSS_LIB_DIR environment variable optional when cross compiling. #2241
    • Mark METH_FASTCALL calling convention as limited API on Python 3.10. #2250
    • Deprecate pyo3_build_config::cross_compiling in favour of pyo3_build_config::cross_compiling_from_to. #2253

    Fixed

    • Fix abi3-py310 feature: use Python 3.10 ABI when available instead of silently falling back to the 3.9 ABI. #2242
    • Use shared linking mode when cross compiling against a Framework bundle for macOS. #2233
    • Fix panic during compilation when PYO3_CROSS_LIB_DIR is set for some host/target combinations. #2232
    • Correct dependency version for syn to require minimal patch version 1.0.56. #2240

    [0.16.2] - 2022-03-15

    Packaging

    • Warn when modules are imported on PyPy 3.7 versions older than PyPy 7.3.8, as they are known to have binary compatibility issues. #2217
    • Ensure build script of pyo3-ffi runs before that of pyo3 to fix cross compilation. #2224

    [0.16.1] - 2022-03-05

    Packaging

    • Extend hashbrown optional dependency supported versions to include 0.12. #2197

    Fixed

    • Fix incorrect platform detection for Windows in pyo3-build-config. #2198
    • Fix regression from 0.16 preventing cross compiling to aarch64 macOS. #2201

    [0.16.0] - 2022-02-27

    ... (truncated)

    Commits
    • 1ae0971 release: 0.16.3
    • 9774a7c Merge pull request #2273 from PyO3/dog-food-intern
    • d3ac71a Merge pull request #2269 from PyO3/intern-macro
    • f02a060 Add a hint on using intern! to Py{,Any}::{set,get}attr.
    • 2c95b3a Intern the attribute names used by the derive macro for FromPyObject.
    • 5434bbc Intern the all and name identifiers used by PyModule.
    • 821b28d Intern the qualname identifier used by PyType::name.
    • 89577a2 Isolate interned strings from their dynamic environment to avoid calling mult...
    • 981eb2d Merge pull request #2265 from davidhewitt/pyclass-mapping
    • 7b99af9 Execute the example for intern macro to ensure it is correct.
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.16.2

    Bump pyo3 from 0.15.1 to 0.16.2

    Bumps pyo3 from 0.15.1 to 0.16.2.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.16.2

    This release contains support for the latest PyPy 7.3.8 release, a fix for a regression from PyO3 0.16.0 which would cause flaky build failures, and corrections to documentation.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​messense

    PyO3 0.16.1

    This release contains a couple of fixes for regressions in PyO3 0.16.0, as well as documentation fixes. The hashbrown optional dependency range has been extended to include its new 0.12 version.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​JerzySpendel @​mejrs @​messense @​PanQL

    PyO3 0.16.0

    This release contains substantial changes and improvements over PyO3 0.15.1. To support these improvements, support has been dropped for the end-of-life Python 3.6 and Rust versions older than 1.48.

    The pyo3::ffi submodule has been split out into a separate pyo3-ffi crate, so that users who want to use PyO3's Python bindings without any of the safe APIs or macros are able to do so.

    #[pyclass] can now be used on simple "C-like" enums to create Python enums.

    The #[pyproto] macro has been deprecated, and can be disabled by disabling the optional #[pyproto] feature. The "magic methods" such as __repr__ which previously were implemented by #[pyproto] gained support in #[pymethods] in 0.15, and now in PyO3 0.16 #[pymethods] is intended to be the only attribute macro needed to write class method implementations.

    There are numerous other reworks, improvements, and bugfixes.

    For full details of all changes, see the CHANGELOG.

    Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:

    @​adamreichold @​aganders3 @​Amanieu @​aviramha @​birkenfeld @​b05902132 @​CarlKCarlK @​cmpute @​danielhenrymantilla @​davidhewitt

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.16.2] - 2022-03-15

    Packaging

    • Warn when modules are imported on PyPy 3.7 versions older than PyPy 7.3.8, as they are known to have binary compatibility issues. #2217
    • Ensure build script of pyo3-ffi runs before that of pyo3 to fix cross compilation. #2224

    [0.16.1] - 2022-03-05

    Packaging

    • Extend hashbrown optional dependency supported versions to include 0.12. #2197

    Fixed

    • Fix incorrect platform detection for Windows in pyo3-build-config. #2198
    • Fix regression from 0.16 preventing cross compiling to aarch64 macOS. #2201

    [0.16.0] - 2022-02-27

    Packaging

    • Update MSRV to Rust 1.48. #2004
    • Update indoc optional dependency to 1.0. #2004
    • Drop support for Python 3.6, remove abi3-py36 feature. #2006
    • pyo3-build-config no longer enables the resolve-config feature by default. #2008
    • Update inventory optional dependency to 0.2. #2019
    • Drop paste dependency. #2081
    • The bindings found in pyo3::ffi are now a re-export of a separate pyo3-ffi crate. #2126
    • Support PyPy 3.9. #2143

    Added

    • Add PyCapsule type exposing the Capsule API. #1980
    • Add pyo3_build_config::Sysconfigdata and supporting APIs. #1996
    • Add Py::setattr method. #2009
    • Add #[pyo3(crate = "some::path")] option to all attribute macros (except the deprecated #[pyproto]). #2022
    • Enable create_exception! macro to take an optional docstring. #2027
    • Enable #[pyclass] for fieldless (aka C-like) enums. #2034
    • Add buffer magic methods __getbuffer__ and __releasebuffer__ to #[pymethods]. #2067
    • Add support for paths in wrap_pyfunction and wrap_pymodule. #2081
    • Enable wrap_pyfunction! to wrap a #[pyfunction] implemented in a different Rust module or crate. #2091
    • Add PyAny::contains method (in operator for PyAny). #2115
    • Add PyMapping::contains method (in operator for PyMapping). #2133
    • Add garbage collection magic magic methods __traverse__ and __clear__ to #[pymethods]. #2159
    • Add support for from_py_with on struct tuples and enums to override the default from-Python conversion. #2181
    • Add eq, ne, lt, le, gt, ge methods to PyAny that wrap rich_compare. #2175
    • Add Py::is and PyAny::is methods to check for object identity. #2183
    • Add support for the __getattribute__ magic method. #2187

    ... (truncated)

    Commits
    • 922bbfc release: 0.16.2
    • d0c124d Merge pull request #2226 from messense/actions-concurrency
    • ca5066f Test 32-bit Windows only with the latest Python version
    • 9fdd439 Merge pull request #2224 from PyO3/build-require-pyo3-ffi
    • 15e9c23 Limit concurrency on GitHub Actions
    • 1e7275c Move links key from pyo3 to pyo3-ffi
    • 0c7a13f Make pyo3-ffi a build dependency of pyo3 to ensure that its build script has ...
    • efc18a4 fixed formatting in changelog (#2218)
    • e625c5d Merge pull request #2217 from davidhewitt/pypy-7.3.8
    • 88cd915 pypy: support 7.3.8
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump pyo3 from 0.15.1 to 0.16.1

    Bump pyo3 from 0.15.1 to 0.16.1

    Bumps pyo3 from 0.15.1 to 0.16.1.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.16.1

    This release contains a couple of fixes for regressions in PyO3 0.16.0, as well as documentation fixes. The hashbrown optional dependency range has been extended to include its new 0.12 version.

    Thank you for the following users for the improvements:

    @​adamreichold @​alex @​birkenfeld @​davidhewitt @​JerzySpendel @​mejrs @​messense @​PanQL

    PyO3 0.16.0

    This release contains substantial changes and improvements over PyO3 0.15.1. To support these improvements, support has been dropped for the end-of-life Python 3.6 and Rust versions older than 1.48.

    The pyo3::ffi submodule has been split out into a separate pyo3-ffi crate, so that users who want to use PyO3's Python bindings without any of the safe APIs or macros are able to do so.

    #[pyclass] can now be used on simple "C-like" enums to create Python enums.

    The #[pyproto] macro has been deprecated, and can be disabled by disabling the optional #[pyproto] feature. The "magic methods" such as __repr__ which previously were implemented by #[pyproto] gained support in #[pymethods] in 0.15, and now in PyO3 0.16 #[pymethods] is intended to be the only attribute macro needed to write class method implementations.

    There are numerous other reworks, improvements, and bugfixes.

    For full details of all changes, see the CHANGELOG.

    Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following users' commits are included in this release:

    @​adamreichold @​aganders3 @​Amanieu @​aviramha @​birkenfeld @​b05902132 @​CarlKCarlK @​cmpute @​danielhenrymantilla @​davidhewitt @​DSPOM2 @​ghuls @​Gobot1234 @​kevinheavey @​konstin @​mejrs @​messense @​milesgranger @​mrl5 @​parsons20 @​RicoHageman

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.16.1] - 2022-03-05

    Packaging

    • Extend hashbrown optional dependency supported versions to include 0.12. #2197

    Fixed

    • Fix incorrect platform detection for Windows in pyo3-build-config. #2198
    • Fix regression from 0.16 preventing cross compiling to aarch64 macOS. #2201

    [0.16.0] - 2022-02-27

    Packaging

    • Update MSRV to Rust 1.48. #2004
    • Update indoc optional dependency to 1.0. #2004
    • Drop support for Python 3.6, remove abi3-py36 feature. #2006
    • pyo3-build-config no longer enables the resolve-config feature by default. #2008
    • Update inventory optional dependency to 0.2. #2019
    • Drop paste dependency. #2081
    • The bindings found in pyo3::ffi are now a re-export of a separate pyo3-ffi crate. #2126
    • Support PyPy 3.9. #2143

    Added

    • Add PyCapsule type exposing the Capsule API. #1980
    • Add pyo3_build_config::Sysconfigdata and supporting APIs. #1996
    • Add Py::setattr method. #2009
    • Add #[pyo3(crate = "some::path")] option to all attribute macros (except the deprecated #[pyproto]). #2022
    • Enable create_exception! macro to take an optional docstring. #2027
    • Enable #[pyclass] for fieldless (aka C-like) enums. #2034
    • Add buffer magic methods __getbuffer__ and __releasebuffer__ to #[pymethods]. #2067
    • Add support for paths in wrap_pyfunction and wrap_pymodule. #2081
    • Enable wrap_pyfunction! to wrap a #[pyfunction] implemented in a different Rust module or crate. #2091
    • Add PyAny::contains method (in operator for PyAny). #2115
    • Add PyMapping::contains method (in operator for PyMapping). #2133
    • Add garbage collection magic magic methods __traverse__ and __clear__ to #[pymethods]. #2159
    • Add support for from_py_with on struct tuples and enums to override the default from-Python conversion. #2181
    • Add eq, ne, lt, le, gt, ge methods to PyAny that wrap rich_compare. #2175
    • Add Py::is and PyAny::is methods to check for object identity. #2183
    • Add support for the __getattribute__ magic method. #2187

    Changed

    • PyType::is_subclass, PyErr::is_instance and PyAny::is_instance now operate run-time type object instead of a type known at compile-time. The old behavior is still available as PyType::is_subclass_of, PyErr::is_instance_of and PyAny::is_instance_of. #1985
    • Rename some methods on PyErr (the old names are just marked deprecated for now): #2026
      • pytype -> get_type
      • pvalue -> value (and deprecate equivalent instance)
      • ptraceback -> traceback

    ... (truncated)

    Commits
    • 7056bae release: 0.16.1
    • 0f1b8dd Merge pull request #2207 from davidhewitt/tidy-doctests
    • 01d8f1e added missing proc-macro invocation to migration guide (#2209)
    • 2bd64c4 guide: tidy up doctests
    • 576818d Merge pull request #2205 from JerzySpendel/typing
    • eaa82b2 Remove typying
    • 43d4f5e Merge pull request #2204 from messense/fixup-changelog
    • e4c5698 Fix up changelog entry for [#2197](https://github.com/pyo3/pyo3/issues/2197)
    • ad2c1af Merge pull request #2201 from messense/aarch64-apple-darwin
    • c339550 Merge pull request #2197 from PyO3/bump-hashbrown
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump ordered-float from 2.8.0 to 3.4.0

    Bump ordered-float from 2.8.0 to 3.4.0

    Bumps ordered-float from 2.8.0 to 3.4.0.

    Release notes

    Sourced from ordered-float's releases.

    v3.4.0

    • Add optional bytemuck support.

    v3.3.0

    • Add optional speedy support.

    v3.2.0

    • Implement LowerExp and UpperExp (scientific notation) display formatting traits (#112).

    v3.1.0

    • Implement AsPrimitive for OrderedFloat (#110)

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).

    v2.10.0

    • Add optional support for the arbitrary crate (#104).

    v2.9.0

    • Implement Borrow for NotNan (#98).
    • Implement From for integer to NotNan conversions (#103).
    • Reduce the amount of unsafe code (#99).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump pyo3 from 0.15.1 to 0.17.3

    Bump pyo3 from 0.15.1 to 0.17.3

    Bumps pyo3 from 0.15.1 to 0.17.3.

    Release notes

    Sourced from pyo3's releases.

    PyO3 0.17.3

    This release confirms support for Python 3.11 in PyO3.

    (Previous versions of PyO3 0.17 had been tested against release candidates of Python 3.11 and no Python 3.11 fixes have been added since 0.17.0, so all PyO3 0.17 versions should in practice be fine to use with Python 3.11.)

    In addition, some other small additions and fixes have been added on top of PyO3 0.17.2.

    Thank you to the following users for the improvements:

    @​adamreichold @​ctb @​datapythonista @​davidhewitt @​messense @​saethlin

    PyO3 0.17.2

    This release contains non-breaking improvements and bugfixes over PyO3 0.17.1.

    A new chrono feature has been added to support converting from types in chrono to types in the Python datetime module. The num-bigint feature has been expanded to add support to PyPy.

    There has also been fixes for a couple of regressions observed in PyO3 0.17.

    Thank you to the following users for the improvements:

    @​adamreichold @​AdilZouitine @​davidhewitt @​messense @​mrob95 @​Oppen @​prehner @​Psykopear @​ryanrussell @​smheidrich @​SquidDev

    PyO3 0.17.1

    This release contains some minor bug fixes for PyO3 0.17.0. In particular the new PyDictItems, PyDictKeys and PyDictValues types are actually accessible!

    Thanks to @​davidhewitt, @​messense and @​PrettyWood for the fixes.

    PyO3 0.17.0

    This release contains a focus on quality improvements over the PyO3 0.16 releases.

    There have been new API types added such as PyDictKeys, PyDictValues, PyDictItems, PyCode, PyFrame, and PySuper. The PyMapping and PySequence types have changed so they are more directly compatible with the corresponding Python Mapping and Sequence base classes in the collections.abc module (this is a breaking change).

    A new #[pyclass(frozen)] option has been added to opt-out of runtime borrow checking by removing the ability to access &mut self for objects owned by Python.

    ... (truncated)

    Changelog

    Sourced from pyo3's changelog.

    [0.17.3] - 2022-11-01

    Packaging

    • Support Python 3.11. (Previous versions of PyO3 0.17 have been tested against Python 3.11 release candidates and are expected to be compatible, this is the first version tested against Python 3.11.0.) #2708

    Added

    • Implemented ExactSizeIterator for PyListIterator, PyDictIterator, PySetIterator and PyFrozenSetIterator. #2676

    Fixed

    • Fix regression of impl FromPyObject for [T; N] no longer accepting types passing PySequence_Check, e.g. NumPy arrays, since version 0.17.0. This the same fix that was applied impl FromPyObject for Vec<T> in version 0.17.1 extended to fixed-size arrays. #2675
    • Fix UB in FunctionDescription::extract_arguments_fastcall due to creating slices from a null pointer. #2687

    [0.17.2] - 2022-10-04

    Packaging

    • Added optional chrono feature to convert chrono types into types in the datetime module. #2612

    Added

    • Add support for num-bigint feature on PyPy. #2626

    Fixed

    • Correctly implement __richcmp__ for enums, fixing __ne__ returning always returning True. #2622
    • Fix compile error since 0.17.0 with Option<&SomePyClass> argument with a default. #2630
    • Fix regression of impl FromPyObject for Vec<T> no longer accepting types passing PySequence_Check, e.g. NumPy arrays, since 0.17.0. #2631

    [0.17.1] - 2022-08-28

    Fixed

    • Fix visibility of PyDictItems, PyDictKeys, and PyDictValues types added in PyO3 0.17.0.
    • Fix compile failure when using #[pyo3(from_py_with = "...")] attribute on an argument of type Option<T>. #2592
    • Fix clippy redundant-closure lint on **kwargs arguments for #[pyfunction] and #[pymethods]. #2595

    [0.17.0] - 2022-08-23

    Packaging

    • Update inventory dependency to 0.3 (the multiple-pymethods feature now requires Rust 1.62 for correctness). #2492

    Added

    • Add timezone_utc. #1588
    • Implement ToPyObject for [T; N]. #2313

    ... (truncated)

    Commits
    • a3edbf4 release: 0.17.3
    • 062470a Fix module name in getting started
    • 5bbd21c Disable PyModule::filename on PyPy
    • 522ac1c Run Rust tests using Valgrind and cargo-careful (#2706)
    • 47540b8 packaging: support Python 3.11
    • 64f52c6 add internal release notes
    • 8088af3 Avoid calling slice::from_raw_parts with a null pointer
    • b6f17aa Update getting_started.md
    • 7647b70 Point new users at specific source file for Rust code.
    • e48525f Add more implementations of ExactSizeIterator when iterating built-in Python ...
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Owner
Paul Meng
I used to be a Haskeller like you, then I took an Arrow in the knee.
Paul Meng
peace-performance (Rust) binding for python. To calculate star ratings and performance points for all osu! gamemodes

peace-performance-python Fast, To calculate star ratings and performance points for all osu! gamemodes peace-performance (Rust) binding for python bas

null 9 Sep 19, 2022
A weekly dive into commonly used modules in the Rust ecosystem, with story flavor!

The goal of this project is to bring the same concept as PyMOTW to the Rust world. PyMOTW was an invaluable resource for me when I was learning Python years ago, and I hope that I can help someone in a similar way. Each week we'll dive into a module and explore some of the functionality that we can find there while following along the adventures of some colourful characters.

Scott Lyons 20 Aug 26, 2022
A tool to assist in code raiding in rust

Kodelock a tool to assist in code raiding in rust This tool is designed to be used on a second monitor. This tools will allow you to see a easily read

null 3 Oct 27, 2022
PyWorkflow(PyWF) - A Python Binding of C++ Workflow

PyWorkflow(PyWF) - A Python Binding of C++ Workflow 概览 C++ Workflow是一个高性能的异步引擎,本项目着力于实现一个Python版的Workflow,让Python用户也能享受Workflow带来的绝佳体验。

Sogou-inc 108 Dec 1, 2022
jmespath.rs Python binding

rjmespath-py jmespath.rs Python binding.

messense 3 Dec 14, 2022
A fast Python in-process signal/event dispatching system.

Blinker Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals". Signal receivers

jason kirtland 1.4k Dec 31, 2022
An ultra fast cross-platform multiple screenshots module in pure Python using ctypes.

Python MSS from mss import mss # The simplest use, save a screen shot of the 1st monitor with mss() as sct: sct.shot() An ultra fast cross-platfo

Mickaël Schoentgen 799 Dec 30, 2022
A fast python implementation of DTU MVS 2014 evaluation

DTUeval-python A python implementation of DTU MVS 2014 evaluation. It only takes 1min for each mesh evaluation. And the gap between the two implementa

null 82 Dec 27, 2022
Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source.

Bionic is Python Framework for crafting beautiful, fast user experiences for web and is free and open source. Getting Started This is an example of ho

null 14 Apr 10, 2022
Fast Base64 encoding/decoding in Python

Fast Base64 implementation This project is a wrapper on libbase64. It aims to provide a fast base64 implementation for base64 encoding/decoding. Insta

Matthieu Darbois 96 Dec 26, 2022
Python Library to get fast extensive Dummy Data for testing

Dumda Python Library to get fast extensive Dummy Data for testing https://pypi.org/project/dumda/ Installation pip install dumda Usage: Cities from d

Oliver B. 0 Dec 27, 2021
A Pythonic Data Catalog powered by Ray that brings exabyte-level scalability and fast, ACID-compliant, change-data-capture to your big data workloads.

DeltaCAT DeltaCAT is a Pythonic Data Catalog powered by Ray. Its data storage model allows you to define and manage fast, scalable, ACID-compliant dat

null 45 Oct 15, 2022
fast_bss_eval is a fast implementation of the bss_eval metrics for the evaluation of blind source separation.

fast_bss_eval Do you have a zillion BSS audio files to process and it is taking days ? Is your simulation never ending ? Fear no more! fast_bss_eval i

Robin Scheibler 99 Dec 13, 2022
A webapp for taking fast notes, designed for business, school, and collaboration with groups.

JOTS Journal of the Session A webapp for taking fast notes, designed for business, school, and collaboration with groups.

Zebadiah S. Taylor 2 Jun 10, 2022
Fast STL (ASCII & Binary) importer for Blender

blender-fast-stl-importer Fast STL (ASCII & Binary) importer for Blender based on https://en.wikipedia.org/wiki/STL_(file_format) Technical notes: flo

Iyad Ahmed 7 Apr 17, 2022
A blazing fast mass certificate generator script for the community ⚡

A simple mass certificate generator script for the community ⚡ Source Code · Docs · Raw Script Docs All you need Certificate Design a simple template

Tushar Nankani 24 Jan 3, 2023
Ballcone is a fast and lightweight server-side Web analytics solution.

Ballcone Ballcone is a fast and lightweight server-side Web analytics solution. It requires no JavaScript on your website. Screenshots Design Goals Si

Dmitry Ustalov 49 Dec 11, 2022
dragmap-meth: Fast and accurate aligner for bisulfite sequencing reads using dragmap

dragmap_meth (dragmap_meth.py) Alignment of BS-Seq reads using dragmap. Intro This works for single-end reads and for paired-end reads from the direct

Shaojun Xie 3 Jul 14, 2022
🦠 A simple and fast (< 200ms) API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak.

?? A simple and fast (< 200ms) API for tracking the global coronavirus (COVID-19, SARS-CoV-2) outbreak. It's written in python using the ?? FastAPI framework. Supports multiple sources!

Marius 1.6k Jan 4, 2023