Skip to content

Commit

Permalink
upgrade to latest packages
Browse files Browse the repository at this point in the history
  • Loading branch information
mbway committed Nov 17, 2024
1 parent ae3add5 commit 29b1350
Show file tree
Hide file tree
Showing 15 changed files with 112 additions and 86 deletions.
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-yaml
- id: check-toml
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.9
rev: v0.7.4
hooks:
- id: ruff-format
- id: ruff
args: [ --fix ]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.10.0
rev: v1.13.0
hooks:
# note: mypy runs in an isolated environment and so has no access to third party packages
- id: mypy
Expand All @@ -26,6 +26,6 @@ repos:
hooks:
- id: codespell
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.41.0
rev: v0.42.0
hooks:
- id: markdownlint-fix
14 changes: 7 additions & 7 deletions src/maturin_import_hook/_resolve_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def get_value(self, keys: list[str], required_type: type[_T]) -> Optional[_T]:

def find_cargo_manifest(project_dir: Path) -> Optional[Path]:
pyproject_path = project_dir / "pyproject.toml"
if pyproject_path.exists():
if pyproject_path.is_file():
pyproject_data = pyproject_path.read_text()
if "manifest-path" in pyproject_data:
pyproject = _TomlFile.from_string(pyproject_path, pyproject_data)
Expand All @@ -69,17 +69,17 @@ def find_cargo_manifest(project_dir: Path) -> Optional[Path]:
return project_dir / relative_manifest_path

manifest_path = project_dir / "Cargo.toml"
if manifest_path.exists():
if manifest_path.is_file():
return manifest_path
manifest_path = project_dir / "rust/Cargo.toml"
if manifest_path.exists():
if manifest_path.is_file():
return manifest_path
return None


def is_maybe_maturin_project(project_dir: Path) -> bool:
def is_maybe_maturin_project(directory: Path) -> bool:
"""note: this function does not check if this really is a maturin project for simplicity."""
return (project_dir / "pyproject.toml").exists() and find_cargo_manifest(project_dir) is not None
return (directory / "pyproject.toml").is_file() and find_cargo_manifest(directory) is not None


class ProjectResolver:
Expand Down Expand Up @@ -247,8 +247,8 @@ def _get_immediate_path_dependencies(manifest_dir_path: Path, cargo: _TomlFile)
path_dependencies = []
for dependency in cargo.get_value_or_default(["dependencies"], dict, {}).values():
if isinstance(dependency, dict):
relative_path = dependency.get("path", None)
if relative_path is not None:
relative_path: Any = dependency.get("path", None)
if relative_path is not None and isinstance(relative_path, str):
path_dependencies.append((manifest_dir_path / relative_path).resolve())
return path_dependencies

Expand Down
2 changes: 1 addition & 1 deletion src/maturin_import_hook/project_importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def find_maturin(self) -> Path:
return self._maturin_path

def invalidate_caches(self) -> None:
"""called by importlib.invalidate_caches()"""
"""called by `importlib.invalidate_caches()`"""
logger.info("clearing cache")
self._resolver.clear_cache()
_find_maturin_project_above.cache_clear()
Expand Down
4 changes: 3 additions & 1 deletion tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,14 @@ To update maturin:

- update the submodule to the maturin commit you want to update to
- re-run the `package_resolver` to update `resolved.json` (see `package_resolver/README.md` for instructions)
- update `requirements.txt` to match the packages and versions used by the maturin ci (`.github/workflows.test.yml`)
- update `requirements.txt` to match the packages and versions installed by the maturin ci
(see `pip install` commands in `maturin/.github/workflows/test.yml`)
- check the `uniffi` package version listed in the `Cargo.toml` of any of the `uniffi-*`
test crates and update `uniffi-bindgen` in `requirements.txt` to match.
- check that no crates have been added to `test-crates` that should be excluded from the import hook tests.
If so, add them to `IGNORED_TEST_CRATES` in `common.py`
- update the version check in the import hook to ensure it allows using the new version
- run the tests to ensure everything still works

## Notes

Expand Down
2 changes: 1 addition & 1 deletion tests/maturin
Submodule maturin updated 127 files
Loading

0 comments on commit 29b1350

Please sign in to comment.