Skip to content

Commit fc7ed9c

Browse files
committed
Merge remote-tracking branch 'grimp_source/main' into find-shortest-cycle
2 parents 1acbc02 + ae655cb commit fc7ed9c

File tree

21 files changed

+310
-456
lines changed

21 files changed

+310
-456
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ jobs:
4848
toolchain: stable
4949
- name: Print versions
5050
run: cargo version --verbose && cargo clippy --version
51+
- name: Check formatting
52+
run: cargo fmt --check
53+
working-directory: ./rust
5154
- name: Run tests
5255
run: cargo test --no-default-features
5356
working-directory: ./rust

.importlinter

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ ignore_imports =
1717
; Grimp doesn't understand extension modules: it thinks grimp._rustgrimp
1818
; is an object within grimp, rather than a module in its own right,
1919
; so we ignore these imports here.
20+
grimp.adaptors.caching -> grimp
2021
grimp.adaptors.graph -> grimp
2122
grimp.adaptors.filesystem -> grimp
2223
grimp.application.scanning -> grimp

CHANGELOG.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@
22
Changelog
33
=========
44

5-
3.10 (2025-08-15)
5+
3.11 (2025-09-01)
66
-----------------
77

8+
* Speed up graph building by switching from Python multiprocessing to Rust-based multithreading
9+
for import scanning.
10+
11+
(yanked) 3.10 (2025-08-15)
12+
--------------------------
13+
14+
This release was yanked due to poor performance when building very large graphs.
15+
816
* Add closed layers to layer contract.
917
* Rename default repository branch to 'main'.
1018
* Optimise `find_shortest_chains` query.

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
# The short X.Y version
2727
version = ''
2828
# The full version, including alpha/beta/rc tags
29-
release = '3.10'
29+
release = '3.11'
3030

3131

3232
# -- General configuration ---------------------------------------------------

docs/usage.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,6 @@ Building the graph
8484
:return: An import graph that you can use to analyse the package.
8585
:rtype: ``ImportGraph``
8686

87-
This method uses multiple operating system processes to build the graph, if the number of modules to scan (not
88-
including modules in the cache) is 50 or more. This threshold can be adjusted by setting the ``GRIMP_MIN_MULTIPROCESSING_MODULES``
89-
environment variable to a different number. To disable multiprocessing altogether, set it to a large number (more than
90-
the number of modules in the codebase being analyzed).
91-
9287
.. _typing module documentation: https://docs.python.org/3/library/typing.html#typing.TYPE_CHECKING
9388

9489
Methods for analysing the module tree

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ module-name = "grimp._rustgrimp"
88

99
[project]
1010
name = "grimp"
11-
version = "3.10"
11+
version = "3.11"
1212
license = {text = "BSD 2-Clause License"}
1313
description = "Builds a queryable graph of the imports within one or more Python packages."
1414
authors = [
1515
{name = "David Seddon", email = "david@seddonym.me"},
1616
]
1717
requires-python = ">=3.9"
1818
dependencies = [
19-
"joblib>=1.3.0",
2019
"typing-extensions>=3.10.0.0",
2120
]
2221
classifiers = [

0 commit comments

Comments
 (0)