Closed rwb27 closed 4 months ago
I discussed this offline with @julianstirling and have discussed it in the past with @jtc42. My conclusion is that it probably doesn't matter hugely whether labthings-fastapi
becomes labthings==2.0.0
or not. But either way, it probably doesn't make sense to crowbar together two unrelated git histories. I'm going to close this MR for now, and I think I'll release a labthings-fastapi
package on PyPI. I might, however, move ownership of the labthings-fastapi repos into the labthings organisation to make it more visible.
Once labthings-fastapi
has an API that's stabilised, and perhaps a slightly wider userbase, we can revisit whether it should become labthings
. But it may be desirable to keep the fastapi
suffix, in case we end up working with multiple back-ends in the future. At that point, if a Flask 2 version appears, we might call it labthings-flask
, for example.
labthings-fastapi
is a ground-up rewrite ofpython-labthings
using FastAPI and Pydantic in place of Flask and Marshmallow. We've previously discussed it becominglabthings
v2, and this pull request is to give that notion some visibility.I am very open to discussion, and I do wonder if it might be clearer to keep the name
labthings-fastapi
and just move the repo, rather than mess up the git history by pulling in a project that started again from scratch. I've now reached the point where I am going to need to publish to PyPI soon, which forces a decision. Is this going to becomelabthings==2.0.0-alpha1
or can I release it aslabthings-fastapi==0.0.1
. I don't have a particularly strong agenda: there are so many breaking changes it will not be helpful to push the new version onto people usinglabthings
already, and I quite like the notion that there's room, in the future, forlabthings-flask
if we grow to other frameworks.As a very brief summary of the work done so far on
labthings-fastapi
, features include:Extensions
are gone, everything is now aThing
Thing
s are classes, with properties and actions defined exactly oncepydantic
Thing
classThing
code is still, for now, threaded. I intend to make it possible to write async things in the future, but don't intend it to become mandatoryWork remains to be done on a few things:
python-labthings