Python-graphblas

Latest version: v2024.2.0

Safety actively analyzes 681812 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 21

2024.3.0

Enhancements
------------
- Document parameters to operator methods `register_new` and `register_anonymous` (446)
- Update `userguide/operations.rst` to be copy/paste-able (added outputs) (440)
- Specify which versions of the GraphBLAS C API we support, and add version policy to FAQ (441)
- Add link to FAQ to README (439)
- Add logo, matrix, and graph SVGs to README (432)
- Convert logo SVGs to use path instead of font for better consistency (447)
- Minfied all PNGs and SVGs in documentation (423, 447)

Maintenance
-----------
- Split `io.py` into multiple files (448)
- Begin using https://pre-commit-ci for running git pre-commit (#432)
- `.github/workflows/imports.yml` now randomizes Python version and OS (423)
- Marked poorly covered code with comments ` NOT COVERED`, ` BRANCH NOT COVERED`, and ` FLAKY COVERAGE`
- Dropped support for `sparse` 0.12
- Support `networkx` 3.1, `numpy` 1.24, `numba` 0.57, `pandas` 2.0, `fast_matrix_market` 1.5

2024.2.0

Highlights
----------
- Add support for numba 0.59, which supports Python 3.12 (536)
- Python-graphblas and its dependencies now fully support Python 3.12

Expired deprecations
--------------------
- Remove deprecated `Matrix.from_values`, `Vector.from_values`, `matrix.to_values`, and `vector_to_values` (529)
- Use `Matrix.from_coo`, `Vector.from_coo`, `matrix.to_coo`, and `vector.to_coo` instead
- Remove deprecated `gb.io.from_numpy` and `gb.io.to_numpy` (528)
- Use `Matrix.from_dense`, `Vector.from_dense`, `matrix.to_dense`, and `vector.to_dense` instead
- Remove deprecated `gb.core.agg` (527)
- Use `gb.core.operator.agg` instead

Maintenance
-----------
- Drop support for:
- numpy 1.21 (536)
- Add support for:
- numba 0.59 (536)
- scipy 1.12 (536)
- pandas 2.2 (536)
- sparse 0.15 (536)
- Misc. (530, 531, 533)

2023.12.0

Highlights
----------
- Support `semiring(A B C)` that applies semiring to both matmuls (501)
- Also, do the same for ewise infix such as `monoid(A & B & C)`
- but don't allow mixing ewise-add and ewise-multiply such as `monoid(A | B & C)`

Enhancements
------------
- Support Matrix power to the 0th power, `A.power(0)` (518)
- This results in a dense diagonal Matrix where the diagonal value is gotten from the identity of the semiring's binary operator (if it has an identity)
- Add `gb.MAX_SIZE`, which is `GrB_INDEX_MAX + 1` (519)
- This can be more convenient to use e.g. `Matrix(int, MAX_SIZE, MAX_SIZE)`
- Better handle dtypes (especially UDTs) in `ewise_union` (517)

Bug fixes
---------
- Fix the default return type of some aggregators such as `agg.count` (524)
- Fix test status badge in README (526)

Maintenance
-----------
- Add support for:
- networkx 3.2 (516)
- numba 0.58 (525)
- awkward 2.5 (525)
- Misc. (update dependency versions, etc.) (516, 521, 522, 523, 525)

2023.10.0

Highlights
----------
- First release to officially support SuiteSparse:GraphBLAS 8 (456, 488, 504, 511, 512)
- Newly affiliated with NumFOCUS and pyOpenSci (482, 510)
- We have a new logo, check it out! (506)

Expired deprecations
--------------------
- Removed `gb.io.draw`; use `gb.viz.draw` instead (485)
- Removed `A.ss.scan_rowwise`, `A.ss.selectk_rowwise`, `A.ss.compactify_rowwise`, and `A.ss.*_columnwise` variants (486)
- Use e.g. `A.ss.scan(order="row")` instead

Enhancements
------------
- Support SuiteSparse:GraphBLAS 8 (456)
- Document and improve using the JIT for user-defined operators defined in C (512)
- Document `gb.ss.config` options (504)
- Document `gb.ss.context` (488)
- Test against python-suitesparse-graphblas 8.0.2.1, 8.2.0.1, 8.2.1.0 (511)
- Add `matrix.power(k)` to compute e.g. `A A A ...` using repeated squaring with arbitrary semiring (483)
- Add `matrix.setdiag(x, k=0)` to set a diagonal of a matrix; supports mask and accum (493)
- Add `gb.ss.burble` to enable SuiteSparse:GraphBLAS diagnostics; may be used as a context (514)
- Add CSS to better stylize matrices in online docs (502)
- Add `.thunk_type` attribute to SelectOp and IndexUnaryOp (512)
- Add badge for pyOpenSci affiliation; we were peer reviewed! (482)
- Add badge for NumFOCUS affiliation; we were added as an affiliated project! (510)
- Created logo and color palette for `python-graphblas`! Notebook added that creates it (506)

Bug fixes
---------
- Allow `scalar.__index__` for integral dtypes only (481)
- Fix broken link to graphblas.org (503)

Maintenance
-----------
- Drop support for:
- Python 3.8 (489)
- scipy 1.8 (489)
- Add support for:
- Python 3.12 (508)
- numpy 1.26 (493, 505)
- pandas 2.1 (500)
- awkward 2.4 (500)
- Drop usage of coveralls (use codecov instead) (509)

New contributors
----------------
- We welcomed alugowski, paul-tqh-nguyen, and Transurgeon as new code contributors this release :tada:

2023.7.0

Enhancements
------------
- Prepare for SuiteSparse:GraphBLAS 8 (478, 456)
- Version 8 added SuiteSparse-specific context objects and JIT
- Support coming in the next release of `python-graphblas`
- Documentation improvements:
- Add section about relationships to other Python libraries to README (442)
- Fix images to show up in README on PyPI (450)
- Fix to use double backticks instead of single backticks in docs (454)
- Blacken docs (455)
- Add conversions to/from awkward-array to API reference docs (457)
- Fix command to create conda environment in contributor guide docs (462)
- Clarify meaning and usage of monoids in GraphBLAS (469)
- Update copyright to include "and contributors" (470)
- Add support for the following versions of dependencies (464, 478, others):
- `fast_matrix_market` 1.6, 1.7, and 1.8
- `awkward` 2.2 and 2.3
- `numpy` 1.25
- `scipy` 1.11

Maintenance
-----------
- Include conftest.py in MANIFEST.in so sdist can run tests propertly (451)
- Disable linting github action and rely on pre-commit.ci instead (451)

2023.6.0

New algorithms (67)
--------------------
- `algorithms.efficiency_measures.efficiency`
- `algorithms.isomorphism.isomorph.fast_could_be_isomorphic`
- `algorithms.isomorphism.isomorph.faster_could_be_isomorphic`
- `algorithms.lowest_common_ancestors.lowest_common_ancestor`
- `algorithms.operators.unary.complement`
- `algorithms.operators.unary.reverse`
- `algorithms.shortest_paths.weighted.bellman_ford_path_length`
- `linalg.bethehessianmatrix.bethe_hessian_matrix`
- `linalg.graphmatrix.adjacency_matrix`
- `linalg.laplacianmatrix.laplacian_matrix`
- `linalg.laplacianmatrix.normalized_laplacian_matrix`
- `linalg.modularitymatrix.directed_modularity_matrix`
- `linalg.modularitymatrix.modularity_matrix`

Page 1 of 21

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.