semvec/pypi-packages huggingface dataset:
ttlser 1.1.7
Deterministic turtle serialization for rdflib.
License: MIT
Requires Python: >=3.7
Keywords: rdflib rdf deterministic turtle ttl

# ttlser
[![PyPI version](https://badge.fury.io/py/ttlser.svg)](https://pypi.org/project/ttlser/)

Deterministic turtle serialization for rdflib.

## Documentation
See the [docs](./docs/ttlser.md) for the full specification and
details on the implemention.

`ttlser` also includes a number of other turtle serializers for
specific rendering needs.

## ttlfmt
`ttlser` provides a `ttlfmt` script that can convert any rdflib supported
format into the output format supported by the serializers or any other
rdflib serializer. If you want to use it you should install with `ttlser[ttlfmt]`.

## Known issues
1. symmetric predicates: If you have symmetric predicates like `owl:disjointWith` then
ttlser needs to know about them so that it can do the reordering those cases appropriately,
otherwise you will end up with situations where another tool reorders the serialization and
ttlser has to assume that the ordering is semantically meaningful.  See
[`symmetric_predicates`](https://github.com/tgbugs/pyontutils/blob/89789653f51b77b13e32dc4f27e231ab00769429/ttlser/ttlser/serializers.py#L234)
in [serializers.py](./ttlser/serializers.py).
2. multiple prefixes: If there is more than one curie prefix for the same iri prefix
then the one that is selected will depend on the dicationary ordering (which while
stable in newer version of python is not guranteed to be the same based on the
contents of the data, rather on the history of the additions and removals).
3. rdflib version: ttlser cannot produce deterministic results without the changes
added in https://github.com/RDFLib/rdflib/pull/649. Hopefully those will be merged
for rdflib-5.0.0, in the mean time ttlser depends on neurdflib which includes those
changes. Once it is merged then ttlser will depend on versions of rdflib that come
after and neurdflib will be deprecated.
4. Random failures. Every once in awhile list serialization fails specatcuarly.
The cause is not obvious (same input file every time for testing), but it is probably
because the fixed point function used to implement bnode ranking has a bug.
5. scottl is a broken mess. In principle this orders by the `rdfs:subClassOf` hierarchy
and then `natsort`, however in practice it currently does whatever it wants. I'm also
fairly certain that the test template [scogood.ttl](./test/scogood.ttl) is not correct.
idlib 0.0.1.dev23
A library for working with identifiers of all kinds.
License: MIT
Requires Python: >=3.7
Keywords: python persistent identifiers

# idlib
[![PyPI version](https://badge.fury.io/py/idlib.svg)](https://pypi.org/project/idlib/)
[![Build Status](https://travis-ci.org/tgbugs/idlib.svg?branch=master)](https://travis-ci.org/tgbugs/idlib)
[![Coverage Status](https://coveralls.io/repos/github/tgbugs/idlib/badge.svg?branch=master)](https://coveralls.io/github/tgbugs/idlib?branch=master)

A library for working with identifiers of all kinds.
augpathlib 0.0.34
Augmented pathlib. Everything else you could do with a path.
License: MIT
Requires Python: >=3.7
Keywords: pathlib path paths

# augpathlib
[![PyPI version](https://badge.fury.io/py/augpathlib.svg)](https://pypi.org/project/augpathlib/)
[![Build Status](https://travis-ci.com/tgbugs/augpathlib.svg?branch=master)](https://travis-ci.com/tgbugs/augpathlib)
[![Coverage Status](https://coveralls.io/repos/github/tgbugs/augpathlib/badge.svg?branch=master)](https://coveralls.io/github/tgbugs/augpathlib?branch=master)

Augmented pathlib. Everything else you could do with a path.

## Introduction
Do you like pathlib?  
Have you ever wanted to see just how far you can push the path abstraction?  
Do you like using the division operator in ways that could potentially cause
reading from the network or writing to disk?  
Then augpathlib is for you!

## Details
augpathlib makes extensive use of the pathlib Path object (and friends)
by augmenting the base PosixPath object with additional functionality
such as getting and setting xattrs, syncing with other mapped paths etc.

In essence there are 3 ways that a Path object can be used: Local, Cache, and Remote.
Local paths return data and metadata that are local the the current computer.
Cache paths return local metadata about remote objects (such as their remote id).
Remote objects provide an interface to remote data that is associated with a path.

Remote paths should be back by another object which is the representation of the
remote according to the remote's APIs.

Remote paths are only intended to provide a 1:1 mapping, so list(local.data) == list(remote.data)
should always be true if everything is in sync.

If there is additional metadata that is associated with a local path then that is
represented in the layer above this one (currently DatasetData, in the future a validation Stage).
That said, it does seem like we need a more formal place that can map between all these
things rather than always trying to derive the mappings from data embedded (bound) to
the derefereced path object. 

## Installing on MacOS catalina 10.15.5+
If you are getting a failed build for pxattr, please continue reading the following.
When using LLVM (9.0.1+) or another 3rd party library for Clang on MacOS, there was an issue that requires a possible reinstall if you getting a failed build for pxattr. See [LLVM Issue](https://github.com/iustin/pyxattr/issues/25) for details. To reinstall LLVM on brew or anaconda you can use the following examples.
```bash
> brew reinstall llvm 
```
or 
```bash
> conda install --force-reinstall llvm 
```
If the reinstall fails to clear the issue consider uninstalling that library and use the default Clang from Xcode. It should be the following version or higher.
```bash
> clang -v
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
```