Python-graphblas

Latest version: v2024.2.0

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

Scan your dependencies

Page 2 of 21

2023.5.0

Highlights
----------
- Add support for Python 3.11 (423)
- Allow Numba to be optional (423)
- User-defined functions (UDFs) still require numba
- Update how to install `python-graphblas` and dependencies via pip.
- The recommended way to install `python-graphblas` via pip is now:
- `pip install python-graphblas[suitesparse]` (also installs `suitesparse-graphblas`)
- `pip install python-graphblas[suitespars-udf]` (also installs `numba`)
- `pip install python-graphblas[default]` (also installs `pandas` and `scipy`)
- `pip install python-graphblas[all]` (installs every optional dependency including for testing and viz)
- `pip install python-graphblas` will keep its current behavior for about a year
- This currently installs `suitesparse-graphblas` and `numba`, which may be dropped as required dependencies in 2024.3.0

2023.3.0

Deprecations
------------
- Deprecate `graphblas.core.agg` namespace (420)
- Use `graphblas.core.operator.agg` namespace instead
- Will be removed in version 2023.11.0 or later

Enhancements
------------
- Read Matrix Market files much faster with `fast_matrix_market` (new optional dependency) (391)
- Add Python version badges and description of optional dependencies in README.md (404)
- Split API references into separate pages for better navigation experience (413)

Bug fixes
---------
- Improve import times (which regressed in version 2023.2.0) (419)
- Fix html repr of infix expressions (418)
- Fix broken link in documentation (fundamentals.rst) (397)
- Fix logo in our docs and pin documentation dependency versions (400)
- Fix documentation website rendering issue with right panel (413)

Maintenance
-----------
- Split operator.py into multiple files (420)
- Test with `python-suitesparse-graphblas` wheels on all OSes in CI (385)
- Add SultanOrazbayev as a maintainer (404)
- Misc. maintenance (399, 405, 417)

**_PSA: [`suitesparse-graphblas`](https://pypi.org/project/suitesparse-graphblas/) v7.4.3.2 now has wheels for Windows, MacOS, and Linux :tada:_**

2023.2.1

_Note: this is a re-release of 2023.2.0, because 2023.2.0 didn't build and upload to PyPI_

- Add scripts to run benchmarks and download data (39)
- Add `floyd_warshall` algorithm for all-pairs shortest path (42)
- Add `floyd_warshall_predecessor_and_distance` (43)
- Add `all_pairs_bellman_ford_path_length` and `single_source_bellman_ford_path_length` (44)
- Add `NodeNodeMap` class and `matrix_to_nodenodemap` and `matrix_to_vectornodemap` methods (43)
- These can replace `matrix_to_dicts`
- Add `fill_value` to `NodeMap` (43)
- Allow `NodeMap` values to be interpreted as keys (43)
- Add more cached properties (44)
- `min_diagonal` (and other `{monoid_name}_diagonal`)
- `has_negative_diagonal`
- `has_negative_edges-` and `has_negative_edges+`
- `is_iso`
- `iso_value`
- Add `normalize_chunksize` and `partition` utility functions to help run algorithms chunkwise (47)
- Misc. maintenance (41, 45, 46)

2023.2.1a0

2023.2.0

Expired deprecations
--------------------
- Remove deprecated `Matrix.new`, `Vector.new`, and `Scalar.new` constructors (380)
- Use e.g `Matrix(...)` and `Vector(...)` instead
- Remove deprecated `require_monoid=` argument in `ewise_add` (377)
- Remove deprecated `io.from_scipy_sparse_matrix` and `io.to_scipy_sparse_matrix` (393)
- Use e.g. `io.from_scipy_sparse` instead

Deprecations
------------
- Deprecate `io.from_numpy` and `io.to_numpy` (382)
- Use e.g. the new methods `Vector.from_dense` and `Matrix.to_dense` instead
- Wil be removed in version 2023.10.0 or later

Enhancements
------------
- Add `from_dense` and `to_dense` methods to `Vector` and `Matrix` to convert between NumPy arrays (382)
- Add `from_scalar` to `Vector` and `Matrix` to create fully dense objects from a scalar (382)
- Improve inferring sub-array dtypes when constructing objects (381)
- `.wait` now returns `self` so it can be used with method-chaining (379)
- Add `op.is_idempotent` property to Monoids that means `op(x, x) == x` (388)
- Support complex dtypes on Windows (394, 395)
- `python-suitesparse-graphblas` v7.4.3.1 added support for complex on Windows (GraphBLAS/python-suitesparse-graphblas68)
- `io.to_pydata_sparse(v)` now returns 1d sparse array for Vector inputs (395)

2023.1.0

Deprecations
------------
- Move operators specific to SuiteSparse:GraphBLAS to `.ss` namespaces (and deprecate previous locations)
- Unary: `erf`, `erfc`, `frexpe`, `frexpx`, `lgamma`, `tgamma`, `positioni`, `positioni1`, `positionj`, `positionj1`
- Binary: `firsti`, `firsti1`, `firstj`, `firstj1`, `secondi`, `secondi1`, `secondj`, `secondj1`
- Semirings that use deprecated binary operators such as `any_firsti`
- Aggregators: `argmin`, `argmax`, `first`, `last`, `first_index`, `last_index`
- Use e.g. `gb.unary.ss.erf` or `gb.agg.ss.argmin` instead
- Will be removed in version 2023.9.0 or later

Enhancements
------------
- Support computation on scalars (358)
- `gb.unary.exp(1)`
- `s.ewise_add(t)`
- Add conversions to and from [`pydata/sparse`](https://github.com/pydata/sparse) objects (#347)
- Add `Matrix.from_edgelist` and `matrix.to_edgelist` to handle `(row, col)` pairs or `(row, col, val)` triples (374)
- Add `Vector.from_pairs` to handle `(index, value)` pairs (374)
- Add default of `1.0` for `values` in `Vector.from_*` and `Matrix.from_*` methods (375)
- Add contributor guidelines and `dev-requirements.txt` (345)
- Add more to FAQ documentation (367)
- Give informative errors for bad descriptor options (353)

Maintenance
-----------
- Use `setuptools-git-versioning` for versions; remove use of `versioneer.py` (362)
- Determine supported dependency versions (368)
- Add script `scripts/check_versions.sh` to easily see if there are new versions of dependencies (366)
- Move package metadata and build info from `setup.py` to `pyproject.toml` (366)
- Add config for PyLint (not enabled by default) (354, 369)
- Add `ruff` linter to git pre-commit (354, 373)
- Add `black-jupyter` to git pre-commit (366)
- New GitHub Action just for testing imports (357)
- New GitHub Action for linting (354, 359)
- Make readthedocs fail if there's a warning building the docs (361)
- Add `--no-mapnumpy` to `pytest` options and other CI improvements (365)
- Randomize versions of dependencies to test against (368, 371)

Page 2 of 21

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.