Open iamareebjamal opened 4 years ago
Hi, I've been maintaining a fork over at https://github.com/TMiguelT/flapison. I've made and merged quite a number of PRs. Please feel free to contribute.
Unfortunately it's notoriously difficult to publicise a fork. I don't even think Google indexes them. So if you can think of a good way for me to do that, let me know.
Can you request it to be added here? https://jsonapi.org/implementations/#server-libraries-python
Seeing that JSONAPI is not that popular, this is the most useful resource to look at when searching for server implementations
Oh, that's a good idea. I'll see if I can PR that into the jsonapi docs.
PR submitted. Hopefully it will get merged and it will clear things up.
Hello, I will have some time to review PR during next week I hope. So new release is coming soon. I am very sorry for my lack of time to maintain this repo.
Oh, hi! While you're around, is there any way I can help with the maintenance of this library? I'm happy to help review and merge PRs etc, or alternatively if you have time now would you accept a PR containing all the downstream changes from flapison? It contains all the PRs from me into this library (7 of them), and some other changes like running black on the whole repo. I understand if you don't want all of my changes though.
Hi, it would also make sense to pick some contributors (@TMiguelT is extremely active) to maintain the library when you are inactive. This will concentrate the efforts in one place and derisk the library as it will be a community effort then?
Hi there! @TMiguelT I'm glad to see you here (I think we've met somewhere within marshmallow-jsonapi). My colleague (@Znbiz) and I have been working on a fork too.
The fact is that we've developed it for our production. Our goal here was to achieve full compatibility with our huge legacy codebase, so we can rewrite the existing API by one resource at a time. At that point we faced the fact, that we need:
At this point we could say, that it needs a lot of work.
So, we came up to this solution:
flask-rest-jsonapi
and create minimal changes, just to make it compatible with the plugin system and create some other whistles like advanced sorting and filteringThere's https://github.com/AdCombo/flask-rest-jsonapi that has these improvenets:
(for custom filtering/sorting you need to define a new method in your marshmallow field as described in docstrings)
And a separate library https://github.com/AdCombo/combojsonapi/, which has:
As I see, there's already some work going in the https://github.com/TMiguelT/flapison, that's cool. So I think maybe we could discuss here some suggestions / ideas how we can all together produce a better library, based on the flask-rest-jsonapi
, that fits all developers' needs, is actively maintained and has cool and useful features!
Hi @mahenzon. It looks like you've done some excellent work refactoring flask-rest-jsonapi. Plugins are a great idea, and moving a lot of the SQLAlchemy data layer into a shared module is something I was meaning to do myself.
We should obviously try to merge the two forks. Your changes are much more fundamental so I'm happy to try to rebase my changes against yours and make some PRs.
I have one reservation, however. I'm a tad sceptical of open source projects maintained under company organisations, because they tend to languish once the initial development effort is finished, and stop paying attention to issues and PRs. After all, that's what's happened with miLibris who originally wrote this. Do you have any thoughts on how maintenance might continue in the long term? Would you be open to adding collaborators even to your organisation repo? If not I can see similar problems to miLibris/flask-rest-jsonapi
happening in the future.
Hi again @TMiguelT!
I'm really glad to see that you like it and are interested in collaborating! And about your concerns regarding maintenance: we welcome collaborators to our repos! Sure, no one is interested in another stalled fork.
I've just invited you to both https://github.com/AdCombo/flask-rest-jsonapi and https://github.com/AdCombo/combojsonapi as a collaborator with write access. Feel free to push changes and open PRs. We definitely want to see some improvements and welcome collaborators! It'll be cool to see your changes from flapison
Okay that sounds great. I'll try to find time to put in some PRs before too long. Thanks for the collaboration invitations also, I can't accept them just yet because of 2FA issues but I should be able to eventually.
One other thought, do you think it would be helpful to rename your repo from flask-rest-jsonapi
so that it's easier to search and/or allows it to be added to the JSON:API site as a separate project? Those are the main reasons I renamed my fork. I also think it makes it clearer to users that it's not the exact same project, especially in case your API diverges from upstream.
Yeah, I agree. It's definitely doable. We just need to come up with some new name. Sure, it'll help in different ways. Give us a day to deside. The results will be in this issue https://github.com/AdCombo/flask-rest-jsonapi/issues/10
Waiting for you to contribute, thanks!
It seems perhaps this repository is being maintained? what is the latest on this.
hi @buckmaxwell! this fork is actively maintained https://github.com/AdCombo/flask-combo-jsonapi
more detailed in the comment above
I realize the tooling for JSONAPI is not very popular, but we have to maintain our code which is using the library heavily. It's known that this repo is not maintained anymore and there are a lot of issues in it. Does anyone have a link to a maintained fork? Or is there any maintained library with migration path?
If not, then community can decide to fork the project and volunteers can help in getting it up to date?