| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This change removes the redundant inheritance from `object` (i.e. `class
Foo(object): pass`) that is no longer needed in Python 3 and is a relic from
Python 2.
|
|
|
|
|
|
|
| |
This change narrows import so that things are imported from the Python module
where they are defined instead of importing them from a module that re-exports
them, e.g. change import of `Graph` to import from the `rdflib.graph` module
instead of from the `rdflib` module. This helps avoid problems with circular
imports.
|
|
|
|
|
|
|
| |
Add some small diverse type hints. Type hints make RDFLib safer to use
and change, as changes and usage can be validated using static
analysers like mypy.
This change does not have a runtime impact.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable nitpicky mode for Sphinx and fix all warnings and errors
that occur when running with nitpicky enabled.
Other changes:
- Add a tox environment for building docs (-docs). This is so we can
test building docs on various versions of python as there seems to be
some differences in warnings between different versions. This tox
environment is enabled for linux CI builds.
- Change readthedocs to use python 3.9 as earlier versions do not handle
`@typing.overload` with type aliases.
- Fixes https://github.com/RDFLib/rdflib/issues/1878
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maintenance-positive changes recommended by
[flake8-bugbear](https://pypi.org/project/flake8-bugbear/), mostly explicitly
indicating unused loop variables with a prefixing underscore (it identified one
case where _none_ of the loop variables were being used) and a couple of
don't-use-mutable-objects-as-args instances.
1. Added leading underscore to unused loop variables, removed mutable objects
from args, (replacing with None and then performing an explicit “if None”
assignment in the body of the method).
2. Swapped out an excessively weak, coverage-motivated length test of __hash__()
(which was causing intermittent test failures) for an equality test of two
runs, fixes issue #2030
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- InfixOWL fixes and cleanup.
[PR #2024](https://github.com/RDFLib/rdflib/pull/2024).
- `rdflib.extras.infixowl.Restriction.__init__` will now raise a `ValueError`
if there is no restriction value instead of an `AssertionError`.
- Fixed numerous issues with
`rdflib.extras.infixowl.Restriction.restrictionKind` which was essentially
not working at all.
- Fixed how `rdflib.extras.infixowl.Property.__repr__` uses
`rdflib.namespace.OWL`.
- Removed `rdflib.extras.infixowl.Infix.__ror__` and
`rdflib.extras.infixowl.Infix.__or__` as they were broken.
- Removed unused `rdflib.extras.infixowl.termDeletionDecorator`.
- Added `rdflib.extras.infixowl.MalformedClassError` which will replace
`rdflib.extras.infixowl.MalformedClass` (which is an exception) in the next
major version.
Final stage of update to InfixOWL, removing unused code, tidying, adding some docu-comments, minor improvements in robustness, updating previously-failing tests, adding more tests. Expanded documentation to follow.
Co-authored-by: Iwan Aucamp <aucampia@gmail.com>
|
|
|
| |
Update of infixowl including a couple of minor run-time changes to avoid exceptions currently xfailing.
|
|
|
| |
Whitespace gardening for `rdflb/extras/infixowl.py` and additional tests.
|
|
|
| |
Preparation for further work.
|
|
|
|
| |
Change `x and x or y` idiom for modern, clearer `y if x is None else x`, as suggested by sonarcloud analysis
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes code from `rdflib/` that does not seem like it belongs
in `rdflib/`, most of it is related to doctest, some of it belongs in
`test/` and was moved to `test/test_misc/test_collection.py`, and yet
more of it seems to just be there for debugging purposes, though it
would possibly be better to put that in a separate place if it is needed
again or to debug using tests if possible.
Other changes:
- Removed an invocation of `rdflib.util.test` from `test_util.py`. This
seems like an attempt to invoke doctest however pytest takes care of
that so this is not needed.
|
|
|
|
| |
for more information, see https://pre-commit.ci
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add: isort configure file
* fix: isort
$ isort .
* add: isort to dev deps
* add: isort to CI
* fix: move .isort.cfg into setup.cfg
* fix: re-formatted
* fix: isort target path
* Use pre-commit to check isort
pre-commit CI can auto fix this, and this way we can idenpendently evaluate
the formatting of the code from the validity of the code.
Co-authored-by: Iwan Aucamp <aucampia@gmail.com>
|
|\ |
|
| | |
|
| | |
|
|/
|
|
| |
Tranlate/transcribe doctests as pytests in separate file as a foundation for developing some unit tests, unskip doctests
|
|\
| |
| | |
Migrate from nosetest to pytest
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch replace all uses of nose with pytest. It also includes a
pytest plugin for creating EARL reports for tests with a `rdf_test_uri`
parameter.
Some caveats:
- HTML report directory is now htmlcov instead of coverage
- There is some warning related to the EARL reporting plugin which I can't quite figure out:
```
.venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676
/home/iwana/sw/d/github.com/iafork/rdflib/.venv/lib64/python3.7/site-packages/_pytest/config/__init__.py:676: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: test.earl
self.import_plugin(import_spec)
```
This is not causing any problems as far as I can tell, but still annoying.
- python setup.py test won't work anymore, I can make it work but this
is not advised by pytest:
https://github.com/pytest-dev/pytest-runner/#deprecation-notice
- run_test.py is still there but it's not really referenced anymore from
anywhere and the options it accepts are completely different as it's options
were based on nose. I would say it should be removed entirely but for now
it is basically just a wrapper around pytest that basically does nothing.
- Removed references to test attributes as currently they are not being
used anywhere anyway, I guess we can add them back if there is some
use for them later.
- A lot of tests are still marked to skip when really they should be marked
with xfail. This is also affecting the RDFT test manifests and result in
reports saying tests are skipped when really we know they will fail and
they are only skipped for this reason. But there is no change here from
before, and pytest makes it easier to dynamically do expected failures.
Special thanks to Wes Turner for his advice and inputs on this process.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes #1311
Add `mypy` to .drone.yml and fix type errors that come up.
Not type checking examples or tests.
Other changes:
- fix return value for `Graph.serialize` (refs #1394)
- remove default value for
`rdflib.plugins.sparql.algebra.translateAlgebra` (refs #1322)
- add .dockerignore to reduce context size and make docker quicker
to run.
- add .flake8 config to ignore line length as black is managing
formatting.
- add mypy to docker-compose, makefile and tox.ini
- fix the way csv2rdf is invoked to ensure that the right code gets
executed.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
# Conflicts:
# rdflib/namespace.py
# rdflib/parser.py
# rdflib/plugins/memory.py
# rdflib/plugins/parsers/ntriples.py
# test/test_iomemory.py
|
| | |
|
|/
|
|
| |
Signed-off-by: t0b3 <thomas.bettler@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: t0b3 <thomas.bettler@gmail.com>
|
|
|
|
|
|
| |
Closes: https://github.com/RDFLib/rdflib/issues/1014
Signed-off-by: t0b3 <thomas.bettler@gmail.com>
|
|\
| |
| | |
infixowl.manchesterSyntax do not encode strings
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The manchesterSyntax function in infixowl was encoding some but not
all string typed objects to bytes, this commit removes the remaining
cases where the encoding was being done. This caused internal errors
like the one below whenever one tried to repr infixowl classes.
File "rdflib/extras/infixowl.py", line 1291, in __repr__
for s in dc]))
TypeError: sequence item 0: expected str instance, bytes found
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
opinions is mainly: no to long lines, but not at any cost.
notation3.py crashses autopep :D
Also rdflib/__init__.py gets completely broken
|
|
|
|
| |
replaced with doctest-ignore-unicode noseplugin
|
|
|
|
| |
now six is used throughout.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
networkx shouldn't be a dependency of rdflib just to run tests. Also
graph_tool heavily depends on C libs and can't easily be installed via pip
(or via apt-get on travis).
Hence, the doctests are duplicated into proper tests that auto skip if
networkx or graph_tool can't be imported.
|
| |
|
| |
|
| |
|
| |
|