<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/rdflib.git/Taskfile.yml, branch dependabot/docker/docker/unstable/library/python-286f2f1</title>
<subtitle>github.com: rdflib/rdflib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/'/>
<entry>
<title>test: add `webtest` marker to tests that use the internet (#2295)</title>
<updated>2023-03-21T21:31:52+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-03-21T21:31:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=cfe6e378e6b0aff106f6baf3b5d82adbeb547236'/>
<id>cfe6e378e6b0aff106f6baf3b5d82adbeb547236</id>
<content type='text'>
This is being done so that it is easier for downstream packagers to run the test
suite without requiring internet access.

To run only tests that does not use the internet, run `pytest -m "not webtest"`.

The validation workflow validates that test run without internet access by
running the tests inside `firejail --net=none`.

- Closes &lt;https://github.com/RDFLib/rdflib/issues/2293&gt;.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is being done so that it is easier for downstream packagers to run the test
suite without requiring internet access.

To run only tests that does not use the internet, run `pytest -m "not webtest"`.

The validation workflow validates that test run without internet access by
running the tests inside `firejail --net=none`.

- Closes &lt;https://github.com/RDFLib/rdflib/issues/2293&gt;.</pre>
</div>
</content>
</entry>
<entry>
<title>fix: include docs and examples in the sdist tarball (#2289)</title>
<updated>2023-03-19T14:50:11+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-03-19T14:50:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=394fb50d73ddca7b4891e43ba0ad2172de0b107d'/>
<id>394fb50d73ddca7b4891e43ba0ad2172de0b107d</id>
<content type='text'>
The sdists generated by setuptools included the `docs` and `examples`
directories, and they are needed for building docs and running tests using the
sdist.

This change includes these directories in the sdist tarball.

A `test:sdist` task is also added to `Taskfile.yml` which uses the sdists to run
pytest and build docs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sdists generated by setuptools included the `docs` and `examples`
directories, and they are needed for building docs and running tests using the
sdist.

This change includes these directories in the sdist tarball.

A `test:sdist` task is also added to `Taskfile.yml` which uses the sdists to run
pytest and build docs.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: don't use kroki (#2284)</title>
<updated>2023-03-17T21:24:31+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2023-03-17T21:24:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=bea782f925991d61923b6ec5f57098e9ac19acf0'/>
<id>bea782f925991d61923b6ec5f57098e9ac19acf0</id>
<content type='text'>
The Kroki server is currently experiencing some issues which breaks our
build, this change eliminates the use of Kroki in favour of directly
using the generated SVG images which is checked into git alongside the
PlantUML sources.

I also added a task to the Taskfile to re-generate the SVG images from
the PlantUML sources by calling docker.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Kroki server is currently experiencing some issues which breaks our
build, this change eliminates the use of Kroki in favour of directly
using the generated SVG images which is checked into git alongside the
PlantUML sources.

I also added a task to the Taskfile to re-generate the SVG images from
the PlantUML sources by calling docker.</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://git.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>build: docker images for latest release and main branch (#2116)</title>
<updated>2022-09-17T20:25:53+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-09-17T20:25:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=3a418218d6bcdb46f78342e14c024063e2f53e71'/>
<id>3a418218d6bcdb46f78342e14c024063e2f53e71</id>
<content type='text'>
This PR adds docker image building to the github actions workflow.

Two images are built:
- unstable: This is built from the current branch
- latest: This is built from the version of rdflib in
  `docker/latest/requirements.txt`, but as this will be updated by
  dependabot it will essentially always be the latest version.

The resulting image references are:

- `ghcr.io/rdflib/rdflib:unstable`
- `ghcr.io/rdflib/rdflib:latest` with an alias
  `ghcr.io/rdflib/rdflib:${rdflib_version}`, e.g.
  `ghcr.io/rdflib/rdflib:6.2.0`.

As dependabot is conifgured for both pyton and docker dependencies, any
change/update to dependencies will result in a new image being built.

To avoid spurious changes in image digests the existing image is used as
the cache source, so if the requirements.txt and Dockerfile for
`ghcr.io/rdflib/rdflib:latest` has not changed then a new image should
not be published for it even if the build runs.

I have tested this in my forked repo, but there may be some kinks to
still work out.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR adds docker image building to the github actions workflow.

Two images are built:
- unstable: This is built from the current branch
- latest: This is built from the version of rdflib in
  `docker/latest/requirements.txt`, but as this will be updated by
  dependabot it will essentially always be the latest version.

The resulting image references are:

- `ghcr.io/rdflib/rdflib:unstable`
- `ghcr.io/rdflib/rdflib:latest` with an alias
  `ghcr.io/rdflib/rdflib:${rdflib_version}`, e.g.
  `ghcr.io/rdflib/rdflib:6.2.0`.

As dependabot is conifgured for both pyton and docker dependencies, any
change/update to dependencies will result in a new image being built.

To avoid spurious changes in image digests the existing image is used as
the cache source, so if the requirements.txt and Dockerfile for
`ghcr.io/rdflib/rdflib:latest` has not changed then a new image should
not be published for it even if the build runs.

I have tested this in my forked repo, but there may be some kinks to
still work out.</pre>
</div>
</content>
</entry>
<entry>
<title>fix: issue with trig reference counting across graphs (#2085)</title>
<updated>2022-08-24T18:59:21+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-08-24T18:59:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=8a58ae80214b413cbf950cb23820b09442d8f682'/>
<id>8a58ae80214b413cbf950cb23820b09442d8f682</id>
<content type='text'>
The TriG serializer was only considering BNode references inside a single
graph and not counting the BNodes subjects as references when considering if a
BNode should be serialized as unlabeled blank nodes (i.e. `[ ]`), and as a
result it was serializing BNodes as unlabeled if they were in fact referencing
BNodes in other graphs.

One caveat of this change is that some RDF Datasets may be serialized
less succinctly in that unlabeled blank nodes would not be used nodes where it is
technically possible to use them. This can be trivially fixed, but a trivial fix
increases the computational complexity of serialization significantly.

Other changes:
- Removed the roundtrip xfail that this change fixed.
- Added another roundtrip test which has various combinations of BNode
  references across graphs in a dataset, this test fails for JSON-LD
  however, so while this change removes one xfail it also now adds
  another.
- Set the default indent_size and style in `.editorconfig` as to avoid
  relying on undefined system defaults.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The TriG serializer was only considering BNode references inside a single
graph and not counting the BNodes subjects as references when considering if a
BNode should be serialized as unlabeled blank nodes (i.e. `[ ]`), and as a
result it was serializing BNodes as unlabeled if they were in fact referencing
BNodes in other graphs.

One caveat of this change is that some RDF Datasets may be serialized
less succinctly in that unlabeled blank nodes would not be used nodes where it is
technically possible to use them. This can be trivially fixed, but a trivial fix
increases the computational complexity of serialization significantly.

Other changes:
- Removed the roundtrip xfail that this change fixed.
- Added another roundtrip test which has various combinations of BNode
  references across graphs in a dataset, this test fails for JSON-LD
  however, so while this change removes one xfail it also now adds
  another.
- Set the default indent_size and style in `.editorconfig` as to avoid
  relying on undefined system defaults.</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add type hints to `rdflib.plugins.sparql.{algebra,operators}` (#2094)</title>
<updated>2022-08-23T18:33:03+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-08-23T18:33:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=c487be63350670a26b49202d6f67e2e4065afc27'/>
<id>c487be63350670a26b49202d6f67e2e4065afc27</id>
<content type='text'>
More or less complete type hints for `rdflib.plugins.sparql.algebra` and
`rdflib.plugins.sparql.operators`.

This does not change runtime behaviour.

Other changes:
- Fixed line endings of `test/test_issues/test_issue1043.py`
  and `test/test_issues/test_issue910.py`.
- Removed a type hint comment that was present in rdflib/plugins/sparql/algebra.py

This is split-off from https://github.com/RDFLib/rdflib/pull/1850.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
More or less complete type hints for `rdflib.plugins.sparql.algebra` and
`rdflib.plugins.sparql.operators`.

This does not change runtime behaviour.

Other changes:
- Fixed line endings of `test/test_issues/test_issue1043.py`
  and `test/test_issues/test_issue910.py`.
- Removed a type hint comment that was present in rdflib/plugins/sparql/algebra.py

This is split-off from https://github.com/RDFLib/rdflib/pull/1850.</pre>
</div>
</content>
</entry>
<entry>
<title>ci: publish test reports (#2091)</title>
<updated>2022-08-23T17:42:00+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-08-23T17:42:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=3a9076deb865962fa6a987cbaa6c40b629244182'/>
<id>3a9076deb865962fa6a987cbaa6c40b629244182</id>
<content type='text'>
Use the dorny/test-reporter GitHub Action to publish test reports for
both mypy and pytest.

This should make it easier to see what fails without having to dig
through the rather noisy console logs.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the dorny/test-reporter GitHub Action to publish test reports for
both mypy and pytest.

This should make it easier to see what fails without having to dig
through the rather noisy console logs.</pre>
</div>
</content>
</entry>
<entry>
<title>fix: handling of Literal datatype (#2076)</title>
<updated>2022-08-12T19:47:53+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-08-12T19:47:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=a39d1436e00affc3cba9e903b22700029d8e8163'/>
<id>a39d1436e00affc3cba9e903b22700029d8e8163</id>
<content type='text'>
Check datatype against `None` instead of checking it's truthiness (i.e.
`if datatype is not None:` instead of `if datatype:`).

Checking truthiness instead of `is not None` causes a blank string to
be treated the same as None. The consequence of this was that
`Literal.datatype` could be a `str`, a `URIRef` or `None`, instead of
just a `URIRef` or `None` as was seemingly intended.

Other changes:
- Changed the type of `Literal.datatype` to be `Optional[URIRef]`
  instead of `Optional[str]` now that `str` will always be converted to
  `URIRef` even if it is a blank string.
- Changed `rdflib.util._coalesce` to make it easier and safer to use
  with a non-`None` default value.
- Changed `rdflib.util` to avoid issues with circular imports.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check datatype against `None` instead of checking it's truthiness (i.e.
`if datatype is not None:` instead of `if datatype:`).

Checking truthiness instead of `is not None` causes a blank string to
be treated the same as None. The consequence of this was that
`Literal.datatype` could be a `str`, a `URIRef` or `None`, instead of
just a `URIRef` or `None` as was seemingly intended.

Other changes:
- Changed the type of `Literal.datatype` to be `Optional[URIRef]`
  instead of `Optional[str]` now that `str` will always be converted to
  `URIRef` even if it is a blank string.
- Changed `rdflib.util._coalesce` to make it easier and safer to use
  with a non-`None` default value.
- Changed `rdflib.util` to avoid issues with circular imports.
</pre>
</div>
</content>
</entry>
<entry>
<title>build: fix Taskfile.yml for Windows (#2064)</title>
<updated>2022-07-29T20:36:44+00:00</updated>
<author>
<name>Iwan Aucamp</name>
<email>aucampia@gmail.com</email>
</author>
<published>2022-07-29T20:36:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/rdflib.git/commit/?id=346ccba1ed43910ef402ff81ea553d4eb2bf1c61'/>
<id>346ccba1ed43910ef402ff81ea553d4eb2bf1c61</id>
<content type='text'>
Fix some issues that the Taskfile had on Windows, mostly related to
shell quoting. Mainly doing this because I'm trying to fix some Windows
specific issues and tasks in the Taskfile make it easier to work on
Windows provided they work correctly.

Other changes:
- Add a separate task for creating a venv.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix some issues that the Taskfile had on Windows, mostly related to
shell quoting. Mainly doing this because I'm trying to fix some Windows
specific issues and tasks in the Taskfile make it easier to work on
Windows provided they work correctly.

Other changes:
- Add a separate task for creating a venv.</pre>
</div>
</content>
</entry>
</feed>
