Skip to content

Releases: octue/django-twined

Widen django-gcp version range

13 Jun 08:07
e1d1dda
Compare
Choose a tag to compare

Contents (#43)

Operations

  • Relax branch name constraint

Dependencies

  • Widen django-gcp version range

Widen django-gcp dependencies

05 May 16:55
016a28c
Compare
Choose a tag to compare

Contents (#41)

Operations

  • Update precommit to latest standards
  • Update pre-commit to reuse sphinx devdependencies
  • Fix devcontainer.json to latest schema

Dependencies

  • Widen django-gcp range and remove unused sphinx-charts

Add exception event kind signal handler

13 Oct 13:54
c2aa85e
Compare
Choose a tag to compare

Summary

Contents (#30)

Fixes

  • Add exception event kind signal handler

Allow override of ask() to set service_revision

12 Oct 15:37
d6bcb62
Compare
Choose a tag to compare

Summary

Contents (#29)

IMPORTANT: There is 1 breaking change.

New features

  • 💥 BREAKING CHANGE: Allow easier override of ask() to set service_revision

Operations

  • Update pr description generator

Testing

  • Use extra return parameter in test

Upgrade instructions

💥 Allow easier override of ask() to set service_revision

Question.ask() now returns 3 values, not 2, so invocations and overrides of Question.ask() should account for being returned also a service_revision value

Event based service interaction

12 Oct 13:50
ab1cb32
Compare
Choose a tag to compare

Summary

Addresses #10 by setting event handlers up to listen to service responses, as well as introducing a range of improvements such as using django-gcp for storage in the example, and improving the 'duplicate' feature to allow full control of duplicated fields via the Question subclass.

Contents

From (#13), (#28) and (#26)

IMPORTANT: There are 2 breaking changes.

New features

  • Add quick dataset instantiation from queryset
  • 💥 BREAKING CHANGE: Update octue terminology and re-engineer as event stream handler
  • Improve admin for ServiceRevision editability
  • 💥 BREAKING CHANGE: Add to_datafile method
  • Add signals from ServiceUsageEvents
  • Replace duplication feature for more control

Enhancements

  • Optimise performance of admin by prefetching related models
  • Use name-based service IDs in ServiceRevision
  • Make service revisions compatible with named topics
  • Use django-gcp message decoder for answers
  • Allow quick override of question ask method in admin form
  • Add is_default field to allow switch of default service revisions
  • Add helper to get the default service revision

Fixes

  • Prevent psf/black#2964 from occurring
  • Update to latest usages of octue library
  • Update Runner usage
  • Allow older versions of django to use the default app config
  • Only decode messages on events endpoint if kind matches
  • Call label getter correctly
  • Use a partial topic field as service ID
  • Typo in signal name
  • Ensure all signals are exported
  • Make change form render during cloning
  • Allow uuid objects as well as str uuids
  • Correct logic in show_save_and_ask
  • Prevent edit of the events
  • Make question deletion cascade correctly

Operations

  • Update to new checkout action
  • Make barebone tests run with the integration test project
  • Apply updated black version
  • Make esbonio lint rst docs
  • Prevent prettier from mangling html template files
  • Make devcontainer pytest play nice with django
  • Update to latest conventional commit checker
  • Update to latest dev stack
  • Make the devcontainer work with pytest
  • Add security policy
  • Update octue past manifest serialisation patch
  • Enhance log on signal sending
  • Add a save_as option instead of using modelclone
  • Update test matrix and make ci names consistent with django-gcp
  • Remove python 3.11 as its still in rc on GHA
  • Update publisher stack
  • Completely remove postgres from tox matrix

Dependencies

  • Add dependencies for release
  • Use octue=^0.27.0
  • Update octue and django-gcp dependencies
  • Update to latest django-gcp
  • Update octue and django-gcp to ensure files arguments work
  • Update django-gcp past error in static files collection
  • Resolve psycopg2 to binary version

Testing

  • Implement test and example apps
  • Remove sqlite tests due to incompatibility per #24
  • Add factory_boy for text fixtures
  • Skip an integration test for which we have no infrastructure

Reversions

  • Revert "OPS: Add a save_as option instead of using modelclone"

Chores

  • Update setting for restructuredText source location
  • Disable pylint warnings for migrations files
  • Make test application usable
  • Tidy up docstring typos
  • Improve logger rendering
  • Move factory-boy to dev dependencies
  • Remove deprecation warning from django 40

Other

  • General update of docs and add settings for events use
  • Update license section
  • Fix typo
  • Add qualifying instrucitons to param description
  • Bump protobuf from 3.20.0 to 3.20.2
  • Merge pull request #25 from octue/dependabot/pip/protobuf-3.20.2

Upgrade instructions

💥 Update octue terminology and re-engineer as event stream handler

The RegisteredService model is removed in favour of new ServiceRevision based octue terminology (this supports the move to octue named services).

  • Users should first update django settings according to the docs and remove any existing TWINED_SERVICES entry (contents is now stored in the database, not hard coded).
  • Users should remove any use of the register_services management command in release scripts
  • Post-migration, users should check the ServiceRevisions table and update the service namespaces if required (a data migration is done, but the namespace of the newly-created service revisions uses the default namespace is assumed, since legacy RegisteredServices did not contain one).
  • Users should update any direct usage of the removed RegisteredService model to use ServiceRevision instead.
  • Storage is now managed by django-gcp. Whilst this should work OK with django-storages, we strongly encourage the use of django-gcp to also manage static and media stores, to prevent the requirement of two overlapping packages.
💥 Add to_datafile method

The property is now a shortcut to the method which by default will NOT sync metadata from the store. This reduces the likelihood of pathologically slow behaviour occurring. To force update from the store, use the method directly.

Update dependencies

11 Mar 16:22
8805387
Compare
Choose a tag to compare

Summary

Contents (#9)

Operations

  • Bump version

Dependencies

  • Update octue and others

Refactoring

  • Removed unused test classes
  • Add docstrigns

Hotfix: Backward python compatibility

13 Feb 13:43
1c376bd
Compare
Choose a tag to compare

Summary

Library is already fully tested on python 3.8; this hotfix prevents poetry from barfing if installing on python 3.8 (because it checks the version range in pyproject.toml).

Contents (#7)

Operations

  • Update version

Dependencies

  • Make installable on older python

Synchronised stores

13 Feb 13:21
18edf77
Compare
Choose a tag to compare

Summary

This PR brings in functionality that was added to django_twined from a full django app maintained by octue.

There are a number of integration tests waiting to be implemented, and documentation still lacks - but the code committed here allows us to register services, ask questions, and sync data store metadata between GCP buckets and django's postgres tables -allowing us to search and filter by file metadata, whist keeping the metadata attached to the actual files.

Contents (#6)

New features

  • Add synchronised datastores and registered services

Fixes

  • Give specific name to AppConfig
  • Avoid requirement for GIS-specific libs

Operations

  • Update version for synced datastores feature

Refactoring

  • Remove unused mixin

Testing

  • Outline some tests - yet to implement
  • Remove example test case
  • Add basic configuration to test app settings

Chores

  • Alter template folder from app template

Update stack

13 Feb 10:47
17c9207
Compare
Choose a tag to compare

Contents (#5)

Operations

  • Add workflows for GitHub Actions
  • Shift to poetry and set up library for devops workflows
  • Update code style and QC standards
  • Add devcontainer for use with codespaces
  • Remove duplicated semver check
  • Make tests connect to postgres in GHA

Dependencies

  • Add dramatiq dependencies while making tests work

Testing

  • Make tests pass initially

Chores

  • Apply uniform code style to project
  • Remove manifest now poetry is used to bundle properly
  • Fix typo in environment setting
  • Update deprecated ugettext_lazy
  • Remove reference to travis in comments

Other

  • Update docs builder
  • Update Licenses, attributions and README