<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/rdflib.git/devtools, branch main</title>
<subtitle>github.com: rdflib/rdflib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/'/>
<entry>
<title>build: unify poetry version source (#2334)</title>
<updated>2023-04-09T13:25:43+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-04-09T13:25:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=950e60a6635a00039628b08a4c66b0b2af95525f'/>
<id>950e60a6635a00039628b08a4c66b0b2af95525f</id>
<content type='text'>
Change the GitHub actions workflows to use the Poetry version specified in
`devtools/requirements-poetry.in` so that it becomes simpler to upgrade
Poetry.

Also upgrade the version of Poetry from 1.4.0 to 1.4.2</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the GitHub actions workflows to use the Poetry version specified in
`devtools/requirements-poetry.in` so that it becomes simpler to upgrade
Poetry.

Also upgrade the version of Poetry from 1.4.0 to 1.4.2</pre>
</div>
</content>
</entry>
<entry>
<title>build: upgrade sphinx and change flake8 and related to only install on python &gt;=3.8 (#2288)</title>
<updated>2023-03-21T21:29:13+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-03-21T21:29:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=dd44ae186183b0da8fef63853c9da2be826eb643'/>
<id>dd44ae186183b0da8fef63853c9da2be826eb643</id>
<content type='text'>
The main aim of this change is to get to a newer version of Sphinx.

However, if just Sphinx is upgraded, poetry can't do version solving because of
the version of `importlib-metadata` that flake8 needs:

```console
$ poetry install
Updating dependencies
Resolving dependencies... (0.6s)

Because no versions of flakeheaven match &gt;3.2.1,&lt;4.0.0
 and flakeheaven (3.2.1) depends on flake8 (&gt;=4.0.1,&lt;5.0.0), flakeheaven (&gt;=3.2.1,&lt;4.0.0) requires flake8 (&gt;=4.0.1,&lt;5.0.0).
And because no versions of flake8 match &gt;4.0.1,&lt;5.0.0
 and flake8 (4.0.1) depends on importlib-metadata (&lt;4.3), flakeheaven (&gt;=3.2.1,&lt;4.0.0) requires importlib-metadata (&lt;4.3).
And because sphinx (5.3.0) depends on importlib-metadata (&gt;=4.8)
 and no versions of sphinx match &gt;5.3.0,&lt;6.0.0, flakeheaven (&gt;=3.2.1,&lt;4.0.0) is incompatible with sphinx (&gt;=5.3.0,&lt;6.0.0).
So, because rdflib depends on both sphinx (^5.3.0) and flakeheaven (^3.2.1), version solving failed.
```

To make things work, flake8 and related is only installed for Python &gt;=3.8,
where the built-in `importlib.metadata` is used instead of the
`importlib-metadata` package.

This means no more flake8 on python 3.7, but it is a reasonable trade-off to get
to a newer version of Sphinx, and Python 3.7 support will be dropped by
2023-06-27 anyway.

Other changes:
- Changed Read the Docs to use the Sphinx version from poetry instead of the
  custom version that was in `devtools/requirements-rtd.txt`.
- Added `typing-extensions` to the poetry `docs` dependency group as it is
  needed for docs to build correctly.
- Changed the tox `docs` environment to be closer to the Read the Docs
  environment.

Closes &lt;https://github.com/RDFLib/rdflib/issues/2272&gt;.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main aim of this change is to get to a newer version of Sphinx.

However, if just Sphinx is upgraded, poetry can't do version solving because of
the version of `importlib-metadata` that flake8 needs:

```console
$ poetry install
Updating dependencies
Resolving dependencies... (0.6s)

Because no versions of flakeheaven match &gt;3.2.1,&lt;4.0.0
 and flakeheaven (3.2.1) depends on flake8 (&gt;=4.0.1,&lt;5.0.0), flakeheaven (&gt;=3.2.1,&lt;4.0.0) requires flake8 (&gt;=4.0.1,&lt;5.0.0).
And because no versions of flake8 match &gt;4.0.1,&lt;5.0.0
 and flake8 (4.0.1) depends on importlib-metadata (&lt;4.3), flakeheaven (&gt;=3.2.1,&lt;4.0.0) requires importlib-metadata (&lt;4.3).
And because sphinx (5.3.0) depends on importlib-metadata (&gt;=4.8)
 and no versions of sphinx match &gt;5.3.0,&lt;6.0.0, flakeheaven (&gt;=3.2.1,&lt;4.0.0) is incompatible with sphinx (&gt;=5.3.0,&lt;6.0.0).
So, because rdflib depends on both sphinx (^5.3.0) and flakeheaven (^3.2.1), version solving failed.
```

To make things work, flake8 and related is only installed for Python &gt;=3.8,
where the built-in `importlib.metadata` is used instead of the
`importlib-metadata` package.

This means no more flake8 on python 3.7, but it is a reasonable trade-off to get
to a newer version of Sphinx, and Python 3.7 support will be dropped by
2023-06-27 anyway.

Other changes:
- Changed Read the Docs to use the Sphinx version from poetry instead of the
  custom version that was in `devtools/requirements-rtd.txt`.
- Added `typing-extensions` to the poetry `docs` dependency group as it is
  needed for docs to build correctly.
- Changed the tox `docs` environment to be closer to the Read the Docs
  environment.

Closes &lt;https://github.com/RDFLib/rdflib/issues/2272&gt;.</pre>
</div>
</content>
</entry>
<entry>
<title>build(deps): bump poetry from 1.3.2 to 1.4.0 in /devtools (#2251)</title>
<updated>2023-03-06T21:49:44+00:00</updated>
<author>
<name>dependabot[bot]</name>
<email>49699333+dependabot[bot]@users.noreply.github.com</email>
</author>
<published>2023-03-06T21:49:44+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=889e8c94b3a12c579fbf9fd25d24c18cb7ce2987'/>
<id>889e8c94b3a12c579fbf9fd25d24c18cb7ce2987</id>
<content type='text'>
* build(deps): bump poetry from 1.3.2 to 1.4.0 in /devtools

Bumps [poetry](https://github.com/python-poetry/poetry) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/python-poetry/poetry/releases)
- [Changelog](https://github.com/python-poetry/poetry/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-poetry/poetry/compare/1.3.2...1.4.0)

---
updated-dependencies:
- dependency-name: poetry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;

* updated in more places

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Iwan Aucamp &lt;aucampia@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* build(deps): bump poetry from 1.3.2 to 1.4.0 in /devtools

Bumps [poetry](https://github.com/python-poetry/poetry) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/python-poetry/poetry/releases)
- [Changelog](https://github.com/python-poetry/poetry/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python-poetry/poetry/compare/1.3.2...1.4.0)

---
updated-dependencies:
- dependency-name: poetry
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;

* updated in more places

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Iwan Aucamp &lt;aucampia@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>build: rename minimum constraints file to evade dependabot (#2209)</title>
<updated>2023-01-17T23:32:53+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-01-17T23:32:53+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=879859dcccf0ee17a18b7b52fed54463c915e72f'/>
<id>879859dcccf0ee17a18b7b52fed54463c915e72f</id>
<content type='text'>
Dependabot is updating `devtools/constraints-min.txt`, but this file
should be the minimum supported versions and should not be automatically
updated.

Dependabot seems to operate on all `.txt` and `.in` files, so I'm changing
it to be `devtools/requirements.min` to evade Dependabot.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dependabot is updating `devtools/constraints-min.txt`, but this file
should be the minimum supported versions and should not be automatically
updated.

Dependabot seems to operate on all `.txt` and `.in` files, so I'm changing
it to be `devtools/requirements.min` to evade Dependabot.</pre>
</div>
</content>
</entry>
<entry>
<title>build: move to poetry for dependency management; consolidate more settings into pyproject.toml (#2187)</title>
<updated>2023-01-17T21:33:44+00:00</updated>
<author>
<name>Jeffrey C. Lerman</name>
<email>Jeffrey.Lerman@gmail.com</email>
</author>
<published>2023-01-17T21:33:44+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=bfcc54bbb98a1298d5ca55f781e315cd785b225a'/>
<id>bfcc54bbb98a1298d5ca55f781e315cd785b225a</id>
<content type='text'>
Replaced setuptools with poetry which provides simpler dependency management, dependency locking and virtual environment management.

This makes it easier for new developers to get a sane development environment (i.e. just `poetry install`) and also makes our CI pipeline more reproducable as now most development tools and libraries will only change through dependabot which will reduce the build failures on main and make breaking changes in dependencies more visible with dependabot PRs.

Other changes:
- moved isort, mypy and coverage config from setup.cfg to pyproject.toml
- Changes in the generated rdflib wheel:
  - removed wheel extras related to development (i.e. `tests`, `docs`, `dev`) as poetry dependency groups should be used instead.
  - Added an extra group `lxml` with a dependency on lxml.
  - Added version ranges to dependencies, and tests to ensure these version ranges are valid.
- Changes to tests:
  - Change pyparsing related tests so they work with older pyparsing.
  - Made the html5lib related tests conditional on html5lib existing.
- Runtime changes:
  - Use importlib.metadata to set `__version__`.
- Changed the devcontainer and related config to avoid contamination and interference with the host environment.

Co-authored-by: Iwan Aucamp &lt;aucampia@gmail.com&gt;
Co-authored-by: Edmond Chuc &lt;edmond.chuc@outlook.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replaced setuptools with poetry which provides simpler dependency management, dependency locking and virtual environment management.

This makes it easier for new developers to get a sane development environment (i.e. just `poetry install`) and also makes our CI pipeline more reproducable as now most development tools and libraries will only change through dependabot which will reduce the build failures on main and make breaking changes in dependencies more visible with dependabot PRs.

Other changes:
- moved isort, mypy and coverage config from setup.cfg to pyproject.toml
- Changes in the generated rdflib wheel:
  - removed wheel extras related to development (i.e. `tests`, `docs`, `dev`) as poetry dependency groups should be used instead.
  - Added an extra group `lxml` with a dependency on lxml.
  - Added version ranges to dependencies, and tests to ensure these version ranges are valid.
- Changes to tests:
  - Change pyparsing related tests so they work with older pyparsing.
  - Made the html5lib related tests conditional on html5lib existing.
- Runtime changes:
  - Use importlib.metadata to set `__version__`.
- Changed the devcontainer and related config to avoid contamination and interference with the host environment.

Co-authored-by: Iwan Aucamp &lt;aucampia@gmail.com&gt;
Co-authored-by: Edmond Chuc &lt;edmond.chuc@outlook.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>chore: rename default branch to `main` (#2101)</title>
<updated>2022-09-04T20:00:41+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-09-04T20:00:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=be13b3af51b69c6eaf6c88d6811b0573af8edffb'/>
<id>be13b3af51b69c6eaf6c88d6811b0573af8edffb</id>
<content type='text'>
We are still using a somewhat outmoded name for our default branch, this
PR captures the decision to change it as a decision record and prepares
the rest of the repo for this change.

Once merged, the main branch of RDFLib will be renamed using the
procedure documented [here](https://github.com/github/renaming).

Other changes:

- Add area for decision records (this may be merged in another PR before
  this one).
- Remove duplicated sections from `docs/upgrade4to5.rst` as they cause
  problems when using `sphinx.ext.autosectionlabel` and serve no
  purpose.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are still using a somewhat outmoded name for our default branch, this
PR captures the decision to change it as a decision record and prepares
the rest of the repo for this change.

Once merged, the main branch of RDFLib will be renamed using the
procedure documented [here](https://github.com/github/renaming).

Other changes:

- Add area for decision records (this may be merged in another PR before
  this one).
- Remove duplicated sections from `docs/upgrade4to5.rst` as they cause
  problems when using `sphinx.ext.autosectionlabel` and serve no
  purpose.</pre>
</div>
</content>
</entry>
<entry>
<title>feat: Add type hints to rdflib.graph (#2080)</title>
<updated>2022-08-23T17:39:18+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-08-23T17:39:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=256e9a2d2bf9800d1e29f03e22b0ac324d28119c'/>
<id>256e9a2d2bf9800d1e29f03e22b0ac324d28119c</id>
<content type='text'>
More or less complete type hints for the rdflib.graph module.

Other changes:
- Improved/simplified type hints in `rdflib.store` and store plugins.
- Add type ignores for various type errors that occur with the type
  hints.

This is split-off from &lt;https://github.com/RDFLib/rdflib/pull/1850&gt;.

This PR does not change runtime behaviour.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
More or less complete type hints for the rdflib.graph module.

Other changes:
- Improved/simplified type hints in `rdflib.store` and store plugins.
- Add type ignores for various type errors that occur with the type
  hints.

This is split-off from &lt;https://github.com/RDFLib/rdflib/pull/1850&gt;.

This PR does not change runtime behaviour.</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add type hints for `rdflib.store` and `rdflib.plugins.stores` (#2057)</title>
<updated>2022-07-30T21:18:30+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-07-30T21:18:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=283bef2922b713d3d6483f13395c02a1c0713fcf'/>
<id>283bef2922b713d3d6483f13395c02a1c0713fcf</id>
<content type='text'>
Add type hints and aliases for `rdflib.store` and
`rdflib.plugins.stores` and also add a couple of more type hints and
aliases to `rdflib.graph`.

This PR contains no runtime changes.

Other changes:
- Changed some imports to be more specific (e.g. `import from
  rdflib.graph` instead of `import from rdflib`). This is to reduce
  the probability of circular imports.
- Ignore `E231` (missing whitespace after ',') in flake8 as black is
  managing the whitespaces and seems to be bumping heads with flake8
  with spaces after `,` sometimes.
- Install `berkeleydb-stubs` when doing extensive testing with tox.
- Added `devtools/diffrtpy.py` which is a script that can be used with
  `git difftool` to generate compact diffs for python code. This should
  make it a lot easier to review PRs that change type hints to verify
  that they don't have a runtime impact.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add type hints and aliases for `rdflib.store` and
`rdflib.plugins.stores` and also add a couple of more type hints and
aliases to `rdflib.graph`.

This PR contains no runtime changes.

Other changes:
- Changed some imports to be more specific (e.g. `import from
  rdflib.graph` instead of `import from rdflib`). This is to reduce
  the probability of circular imports.
- Ignore `E231` (missing whitespace after ',') in flake8 as black is
  managing the whitespaces and seems to be bumping heads with flake8
  with spaces after `,` sometimes.
- Install `berkeleydb-stubs` when doing extensive testing with tox.
- Added `devtools/diffrtpy.py` which is a script that can be used with
  `git difftool` to generate compact diffs for python code. This should
  make it a lot easier to review PRs that change type hints to verify
  that they don't have a runtime impact.</pre>
</div>
</content>
</entry>
</feed>
