-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap #10
Comments
Please feel free to suggest features for the roadmap. |
Nice project! |
@99hats Thanks for the feedback. Accepting |
@dantownsend That sounds great. It could also be added to the web admin. Here's how supabase.io (a firebase clone using postgres) implements it on web admin: https://supabase.io/docs/guides/auth#row-level-security |
@99hats Thanks for the link - I'll take a look at how they're doing it. There's a fix for the circular dependency issue in Piccolo 0.14.10 - class Band(Table):
name = Varchar()
manager = ForeignKey('Manager')
class Manager(Table):
name = Varchar() https://piccolo-orm.readthedocs.io/en/latest/piccolo/schema/column_types.html#foreignkey |
@dantownsend Awesome, I swear all of my projects have circular dependencies. Thank you! |
@dantownsend Are you considering modeling one-to-many and many-to-many relationships? |
Hello! 👋 I just finished reading through the Piccolo docs and am very excited to give it a try! I'm coming from SQLAlchemy which I generally use with FastAPI. Here are some questions / suggestions based on my reading:
Those are all my initial thoughts for now, sorry if this is the wrong place to put them 😅. Thanks for making such a cool project! |
Hey @dantownsend , what do you mean by fixtures in your original comment? |
@coder3112 Hi! In terms of fixtures, I was thinking of dumping existing database rows to JSON, and then being able to reload them again. Similar to The easiest way to perform this serialisation / deserialisation is using something like Pydantic. In It's something I'd like to explore again soon. |
Hi! I've spent enough time with Piccolo the last week or so to get a decent grasp of it. Would like to give my feedback, even though all of it can't directly be translated to roadmap items. First of all, I think it would make sense to split the roadmap in to 3 main areas, depending on what you envision for Piccolo in the next year or so. Providing a modern (ASGI) ORMThis would include the features that users might be expecting from a ORM but is not in Piccolo right now for one reason or another, such as:
Supporting the wider ASGI ecosystemI think this is a potentially huge area. Looking at the ASGI ORM landscape there's a big need for a complete solution (a lá Django + Django ORM). There's great async ORMs out there, and the tooling around them (auth, admin, etc.) definitely exists - but there's not a single complete package available with as little pain points as Piccolo. I also think that with the migration to SQLAlchemy 1.4 and down the line 2.0, a lot of ORMs will struggle. Not being reliant on SQLAlchemy can be a great thing in this circumstance :) This area would include stuff as:
Making Piccolo the best it can beThis area would include anything else that doesn't fit in to the other two. Stuff that will really make Piccolo stand out (if that's what you want) or just in general be a great ORM Here I think there's a decision to be made. Do you want Piccolo to be the best all-purpose Python ASGI ORM that CAN tie in to frameworks such as FastAPI - Or do you want Piccolo to be THE BEST FastAPI/Blacksheep/Starlette ORM that can also fill other purposes. I might be wrong, but I think it will be hard to fill both those roles. This ended up being longer than expected, but just wanted to give you my thought after a few days of using Piccolo. Big kudos @dantownsend - you've done a fantastic job! Happy to help out where I can moving forward 🚀 |
@heliumbrain Some great suggestions there, thanks. I've created a separate discussion thread to explore these ideas more. |
@dantownsend Is this roadmap up-to-date? |
@AliSayyah No, it's a bit dated. I've just crossed off a few which have already been done. This issue can probably be closed, and replaced with individual issues instead. When I created this issue we didn't have GitHub discussions, or projects. So a check list was about as good as it got! We can pick up the conversation here: |
SELECT foo AS bar FROM my_table
)piccolo sql_shell new
command - execute SQL directly in a shell, via the configured enginepiccolo shell new
command - like the playground, but for your own tablesForeignKey
references
argument to accept a string such as'my_app.SomeTable'
when circular imports are an issue.Enum
types.ForeignKey
columns.The text was updated successfully, but these errors were encountered: