Atramhasis v0.7.0 released
Version 0.7.0 of Atramhasis, our open-source, web-based SKOS editor, is out.
Most of this release is under the hood rather than user-visible, focused on stability. One new user-facing feature: a simple tree view that makes printing a thesaurus practical.
This release contains backwards-incompatible changes that require a careful upgrade and some manual intervention. The 0.7.x line will also be the last to support Python 2 — if you haven't moved to Python 3 yet, now's the time.
The breaking change concerns how and when skosprovider.registry.Registry gets instantiated: previously this happened at application startup, now it happens per request. The old approach caused problems with SQLAlchemy providers on a multi-threaded webserver. See the customisation docs for the new pattern, and the pyramid_skosprovider docs for background.
Python 2 support is being phased out across the whole stack:
- atramhasis will drop it in
1.0.0 - skosprovider will drop it in
0.8.0 - language-tags dropped it in
1.0.0 - pyramid_skosprovider will drop it in
0.10.0 - skosprovider_sqlalchemy will drop it in
0.7.0 - skosprovider_atramhasis dropped it in
0.4.0 - skosprovider_getty will drop it in
0.6.0 - skosprovider_rdf will drop it in
0.9.0 - skosprovider_heritagedata is currently unmaintained
SKOS collections also got a fix: it was always assumed that concepts in a collection are narrower concepts of that collection's superordinate concept, but the implementation was incomplete and buggy. Collections now have a boolean infer_concept_relations attribute — when true, member concepts count as narrower concepts of the superordinate; when false, they don't. This mainly affects a provider's expand function and how thesaurus arrays or node labels are interpreted.
We also invested in SEO: concept detail pages now carry HTML metadata such as a canonical URL, a Twitter card and OpenGraph info, and a new script can generate an XML sitemap for your installation.

The Atramhasis admin interface
If you're not sure what Atramhasis looks like or does, the documentation now has a dedicated features section explaining it.
As always, see the 0.7.0 release notes for the full changelog. Try a live example at thesaurus.onroerenderfgoed.be. Questions or issues: the forum or our GitHub tracker.