diff --git a/data/members.yml b/data/members.yml deleted file mode 100644 index 7498f915e2..0000000000 --- a/data/members.yml +++ /dev/null @@ -1,5 +0,0 @@ -members: -- login: tiangolo -- login: YuriiMotov -- login: svlandeg -- login: alejsdev diff --git a/docs/help.md b/docs/help.md index b89126affd..bf921d2662 100644 --- a/docs/help.md +++ b/docs/help.md @@ -1,18 +1,12 @@ -# Help SQLModel - Get Help +# Help -Do you like **SQLModel**? +Would you like to help SQLModel or get help about SQLModel? -Would you like to help SQLModel, other users, and the author? +There are very simple ways to help and get help. -Or would you like to get help with **SQLModel**? +## Subscribe to the newsletter -There are very simple ways to help (several involve just one or two clicks). - -And there are several ways to get help too. - -## Subscribe to the FastAPI and Friends newsletter - -You can subscribe to the (infrequent) [**FastAPI and friends** newsletter](https://fastapi.tiangolo.com/newsletter) to stay updated about: +You can subscribe to the (infrequent) [**FastAPI and friends** newsletter](https://fastapi.tiangolo.com/newsletter/) to stay updated about: * News about FastAPI and friends, including SQLModel πŸš€ * Guides πŸ“ @@ -20,6 +14,14 @@ You can subscribe to the (infrequent) [**FastAPI and friends** newsletter](https * Breaking changes 🚨 * Tips and tricks βœ… +## Follow FastAPI online + +You can follow **FastAPI** online in several places: + +* [@fastapi on **X / Twitter**](https://x.com/fastapi) +* [@fastapi.tiangolo.com on **Bluesky**](https://bsky.app/profile/fastapi.tiangolo.com) +* [FastAPI on **LinkedIn**](https://www.linkedin.com/company/fastapi/) + ## Star **SQLModel** in GitHub You can "star" SQLModel in GitHub (clicking the star button at the top right): [https://github.com/fastapi/sqlmodel](https://github.com/fastapi/sqlmodel). ⭐️ @@ -34,89 +36,26 @@ There you can select "Releases only". By doing it, you will receive notifications (in your email) whenever there's a new release (a new version) of **SQLModel** with bug fixes and new features. -## Connect with the author +## Follow the author -You can connect with [me (SebastiΓ‘n RamΓ­rez / `tiangolo`)](https://tiangolo.com), the author. +You can follow [me (SebastiΓ‘n RamΓ­rez / `tiangolo`)](https://tiangolo.com), the author in a few places, to hear when I have news to share about FastAPI and friends: -You can: - -* [Follow me on **GitHub**](https://github.com/tiangolo). - * See other Open Source projects I have created that could help you. - * Follow me to see when I create a new Open Source project. -* [Follow me on **Twitter**](https://twitter.com/tiangolo). - * Tell me how you use SQLModel (I love to hear that). - * Hear when I make announcements or release new tools. -* [Connect with me on **Linkedin**](https://www.linkedin.com/in/tiangolo/). - * Hear when I make announcements or release new tools (although I use Twitter more often πŸ€·β€β™‚). -* Read what I write (or follow me) on [**Dev.to**](https://dev.to/tiangolo) or [**Medium**](https://medium.com/@tiangolo). - * Read other ideas, articles, and read about tools I have created. - * Follow me to read when I publish something new. - -## Tweet about **SQLModel** - -[Tweet about **SQLModel**](https://twitter.com/compose/tweet?text=I'm loving SQLModel because... https://github.com/fastapi/sqlmodel cc: @tiangolo) and let me and others know why you like it. πŸŽ‰ - -I love to hear about how **SQLModel** is being used, what you have liked in it, in which project/company are you using it, etc. +* [@tiangolo on **GitHub**](https://github.com/tiangolo). +* [@tiangolo on **X (Twitter)**](https://x.com/tiangolo) +* [@tiangolo.com on **Bluesky**](https://bsky.app/profile/tiangolo.com) +* [@tiangolo on **LinkedIn**](https://www.linkedin.com/in/tiangolo/). ## Help others with questions in GitHub -You can try and help others with their questions in: - -* [GitHub Discussions](https://github.com/fastapi/sqlmodel/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered) -* [GitHub Issues](https://github.com/fastapi/sqlmodel/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Aquestion+-label%3Aanswered+) +You can try and help others with their questions in [GitHub Discussions](https://github.com/fastapi/sqlmodel/discussions/categories/questions?discussions_q=category%3AQuestions+is%3Aunanswered). In many cases you might already know the answer for those questions. πŸ€“ -Just remember, the most important point is: try to be kind. People come with their frustrations and in many cases don't ask in the best way, but try as best as you can to be kind. πŸ€— - -The idea is for the **SQLModel** community to be kind and welcoming. At the same time, don't accept bullying or disrespectful behavior towards others. We have to take care of each other. - ---- - -Here's how to help others with questions (in discussions or issues): - -### Understand the question - -* Check if you can understand what is the **purpose** and use case of the person asking. - -* Then check if the question (the vast majority are questions) is **clear**. - -* In many cases the question asked is about an imaginary solution from the user, but there might be a **better** one. If you can understand the problem and use case better, you might be able to suggest a better **alternative solution**. - -* If you can't understand the question, ask for more **details**. - -### Reproduce the problem - -For most of the cases and most of the questions there's something related to the person's **original code**. +Just remember, the most important point is: try to be kind. πŸ€— -In many cases they will only copy a fragment of the code, but that's not enough to **reproduce the problem**. +### How to Help -* You can ask them to provide a [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example), that you can **copy-paste** and run locally to see the same error or behavior they are seeing, or to understand their use case better. - -* If you are feeling too generous, you can try to **create an example** like that yourself, just based on the description of the problem. Just have in mind that this might take a lot of time and it might be better to ask them to clarify the problem first. - -### Suggest solutions - -* After being able to understand the question, you can give them a possible **answer**. - -* In many cases, it's better to understand their **underlying problem or use case**, because there might be a better way to solve it than what they are trying to do. - -### Ask to close - -If they reply, there's a high chance you would have solved their problem, congrats, **you're a hero**! 🦸 - -* Now, if that solved their problem, you can ask them to: - - * In GitHub Discussions: mark the comment as the **answer**. - * In GitHub Issues: **close** the issue**. - -## Watch the GitHub repository - -You can "watch" SQLModel in GitHub (clicking the "watch" button at the top right): [https://github.com/fastapi/sqlmodel](https://github.com/fastapi/sqlmodel). πŸ‘€ - -If you select "Watching" instead of "Releases only" you will receive notifications when someone creates a new issue or question. You can also specify that you only want to be notified about new issues, or discussions, or PRs, etc. - -Then you can try and help them solve those questions. +Follow the [guide on how to help](https://tiangolo.com/open-source/help/#help-others-with-questions-in-github) here. ## Ask Questions @@ -125,93 +64,7 @@ You can [create a new question](https://github.com/fastapi/sqlmodel/discussions/ * Ask a **question** or ask about a **problem**. * Suggest a new **feature**. -**Note**: if you do it, then I'm going to ask you to also help others. πŸ˜‰ - -## Review Pull Requests - -You can help me review pull requests from others. - -Again, please try your best to be kind. πŸ€— - ---- - -Here's what to have in mind and how to review a pull request: - -### Understand the problem - -* First, make sure you **understand the problem** that the pull request is trying to solve. It might have a longer discussion in a GitHub Discussion or issue. - -* There's also a good chance that the pull request is not actually needed because the problem can be solved in a **different way**. Then you can suggest or ask about that. - -### Don't worry about style - -* Don't worry too much about things like commit message styles, I will squash and merge customizing the commit manually. - -* Also don't worry about style rules, there are already automatized tools checking that. - -And if there's any other style or consistency need, I'll ask directly for that, or I'll add commits on top with the needed changes. - -### Check the code - -* Check and read the code, see if it makes sense, **run it locally** and see if it actually solves the problem. - -* Then **comment** saying that you did that, that's how I will know you really checked it. - -/// note - -Unfortunately, I can't simply trust PRs that just have several approvals. - -Several times it has happened that there are PRs with 3, 5 or more approvals, probably because the description is appealing, but when I check the PRs, they are actually broken, have a bug, or don't solve the problem they claim to solve. πŸ˜… - -So, it's really important that you actually read and run the code, and let me know in the comments that you did. πŸ€“ - -/// - -* If the PR can be simplified in a way, you can ask for that, but there's no need to be too picky, there might be a lot of subjective points of view (and I will have my own as well πŸ™ˆ), so it's better if you can focus on the fundamental things. - -### Tests - -* Help me check that the PR has **tests**. - -* Check that the tests **fail** before the PR. 🚨 - -* Then check that the tests **pass** after the PR. βœ… - -* Many PRs don't have tests, you can **remind** them to add tests, or you can even **suggest** some tests yourself. That's one of the things that consume most time and you can help a lot with that. - -* Then also comment what you tried, that way I'll know that you checked it. πŸ€“ - -## Create a Pull Request - -You can [contribute](contributing.md) to the source code with Pull Requests, for example: - -* To fix a typo you found on the documentation. -* To propose new documentation sections. -* To fix an existing issue/bug. - * Make sure to add tests. -* To add a new feature. - * Make sure to add tests. - * Make sure to add documentation if it's relevant. - -Note that PRs from non-team members are not allowed to modify `pyproject.toml` or `uv.lock`, to prevent supply chain risk. -If you would like to add a new dependency, create a new [Discussion](https://github.com/fastapi/sqlmodel/discussions/categories/questions) to explain why. - -## Help Maintain SQLModel - -Help me maintain **SQLModel**! πŸ€“ - -There's a lot of work to do, and for most of it, **YOU** can do it. - -The main tasks that you can do right now are: - -* [Help others with questions in GitHub](#help-others-with-questions-in-github) (see the section above). -* [Review Pull Requests](#review-pull-requests) (see the section above). - -Those two tasks are what **consume time the most**. That's the main work of maintaining SQLModel. - -If you can help me with that, **you are helping me maintain SQLModel** and making sure it keeps **advancing faster and better**. πŸš€ - -## Join the chat +## Join the Chat Join the πŸ‘₯ [FastAPI and Friends Discord chat server](https://discord.gg/VQjSZaeJmf) πŸ‘₯ and hang out with others in the community. There's a `#sqlmodel` channel. @@ -223,31 +76,10 @@ Use the chat only for other general conversations. /// -### Don't use the chat for questions - -Have in mind that as chats allow more "free conversation", it's easy to ask questions that are too general and more difficult to answer, so, you might not receive answers. - -In GitHub, the template will guide you to write the right question so that you can more easily get a good answer, or even solve the problem yourself even before asking. And in GitHub I can make sure I always answer everything, even if it takes some time. I can't personally do that with the chat. πŸ˜… - -Conversations in the chat are also not as easily searchable as in GitHub, so questions and answers might get lost in the conversation. - -On the other side, there are thousands of users in the chat, so there's a high chance you'll find someone to talk to there, almost all the time. πŸ˜„ - -## Sponsor the author - -You can also financially support the author (me) through [GitHub sponsors](https://github.com/sponsors/tiangolo). - -There you could buy me a coffee β˜•οΈ to say thanks. πŸ˜„ - -## Sponsor the tools that power SQLModel - -As you have seen in the documentation, SQLModel stands on the shoulders of giants, Pydantic and SQLAlchemy. - -You can also sponsor: +### Don't use the Chat for Questions -* [Samuel Colvin (Pydantic)](https://github.com/sponsors/samuelcolvin) -* [SQLAlchemy](https://github.com/sponsors/sqlalchemy) +Keep in mind that as chats allow more "free conversation", it's easy to ask questions that are too general and more difficult to answer, so, you might not receive answers. ---- +In GitHub, the template will guide you to write the right question so that you can more easily get a good answer, or even solve the problem yourself even before asking. -Thanks! πŸš€ +Conversations in the chat systems are also not as easily searchable as in GitHub, they get lost. diff --git a/docs/management-tasks.md b/docs/management-tasks.md deleted file mode 100644 index bb2e84a101..0000000000 --- a/docs/management-tasks.md +++ /dev/null @@ -1,117 +0,0 @@ -# Repository Management Tasks - -These are the tasks that can be performed to manage the SQLModel repository by [team members](./management.md#team). - -/// tip - -This section is useful only to a handful of people, team members with permissions to manage the repository. You can probably skip it. πŸ˜‰ - -/// - -...so, you are a [team member of SQLModel](./management.md#team)? Wow, you are so cool! 😎 - -You can help with everything on [Help SQLModel - Get Help](./help.md) the same ways as external contributors. But additionally, there are some tasks that only you (as part of the team) can perform. - -Here are the general instructions for the tasks you can perform. - -Thanks a lot for your help. πŸ™‡ - -## Be Nice - -First of all, be nice. 😊 - -You probably are super nice if you were added to the team, but it's worth mentioning it. πŸ€“ - -### When Things are Difficult - -When things are great, everything is easier, so that doesn't need much instructions. But when things are difficult, here are some guidelines. - -Try to find the good side. In general, if people are not being unfriendly, try to thank their effort and interest, even if you disagree with the main subject (discussion, PR), just thank them for being interested in the project, or for having dedicated some time to try to do something. - -It's difficult to convey emotion in text, use emojis to help. πŸ˜… - -In discussions and PRs, in many cases, people bring their frustration and show it without filter, in many cases exaggerating, complaining, being entitled, etc. That's really not nice, and when it happens, it lowers our priority to solve their problems. But still, try to breath, and be gentle with your answers. - -Try to avoid using bitter sarcasm or potentially passive-aggressive comments. If something is wrong, it's better to be direct (try to be gentle) than sarcastic. - -Try to be as specific and objective as possible, avoid generalizations. - -For conversations that are more difficult, for example to reject a PR, you can ask me (@tiangolo) to handle it directly. - -## Edit PR Titles - -* Edit the PR title to start with an emoji from [gitmoji](https://gitmoji.dev/). - * Use the emoji character, not the GitHub code. So, use `πŸ›` instead of `:bug:`. This is so that it shows up correctly outside of GitHub, for example in the release notes. -* Start the title with a verb. For example `Add`, `Refactor`, `Fix`, etc. This way the title will say the action that the PR does. Like `Add support for teleporting`, instead of `Teleporting wasn't working, so this PR fixes it`. -* Edit the text of the PR title to start in "imperative", like giving an order. So, instead of `Adding support for teleporting` use `Add support for teleporting`. -* Try to make the title descriptive about what it achieves. If it's a feature, try to describe it, for example `Add support for teleporting` instead of `Create TeleportAdapter class`. -* Do not finish the title with a period (`.`). - -Once the PR is merged, a GitHub Action ([latest-changes](https://github.com/tiangolo/latest-changes)) will use the PR title to update the latest changes automatically. - -So, having a nice PR title will not only look nice in GitHub, but also in the release notes. πŸ“ - -## Add Labels to PRs - -The same GitHub Action [latest-changes](https://github.com/tiangolo/latest-changes) uses one label in the PR to decide the section in the release notes to put this PR in. - -Make sure you use a supported label from the [latest-changes list of labels](https://github.com/tiangolo/latest-changes#using-labels): - -* `breaking`: Breaking Changes - * Existing code will break if they update the version without changing their code. This rarely happens, so this label is not frequently used. -* `security`: Security Fixes - * This is for security fixes, like vulnerabilities. It would almost never be used. -* `feature`: Features - * New features, adding support for things that didn't exist before. -* `bug`: Fixes - * Something that was supported didn't work, and this fixes it. There are many PRs that claim to be bug fixes because the user is doing something in an unexpected way that is not supported, but they considered it what should be supported by default. Many of these are actually features or refactors. But in some cases there's an actual bug. -* `refactor`: Refactors - * This is normally for changes to the internal code that don't change the behavior. Normally it improves maintainability, or enables future features, etc. -* `upgrade`: Upgrades - * This is for upgrades to direct dependencies from the project, or extra optional dependencies, normally in `pyproject.toml`. So, things that would affect final users, they would end up receiving the upgrade in their code base once they update. But this is not for upgrades to internal dependencies used for development, testing, docs, etc. Those internal dependencies or GitHub Action versions should be marked as `internal`, not `upgrade`. -* `docs`: Docs - * Changes in docs. This includes updating the docs, fixing typos. But it doesn't include changes to translations. - * You can normally quickly detect it by going to the "Files changed" tab in the PR and checking if the updated file(s) starts with `docs/en/docs`. The original version of the docs is always in English, so in `docs/en/docs`. -* `internal`: Internal - * Use this for changes that only affect how the repo is managed. For example upgrades to internal dependencies, changes in GitHub Actions or scripts, etc. - -/// tip - -Some tools like Dependabot, will add some labels, like `dependencies`, but have in mind that this label is not used by the `latest-changes` GitHub Action, so it won't be used in the release notes. Please make sure one of the labels above is added. - -/// - -## Review PRs - -* If a PR doesn't explain what it does or why, if it seems like it could be useful, ask for more information. Otherwise, feel free to close it. - -* If a PR seems to be spam, meaningless, only to change statistics (to appear as "contributor") or similar, you can simply mark it as `invalid`, and it will be automatically closed. - -* If a PR seems to be AI generated, and seems like reviewing it would take more time from you than the time it took to write the prompt, mark it as `maybe-ai`, and it will be automatically closed. - -* A PR should have a specific use case that it is solving. - -* If the PR is for a feature, it should have docs. - * Unless it's a feature we want to discourage, like support for a corner case that we don't want users to use. -* The docs should include a source example file, not write Python directly in Markdown. -* If the source example(s) file can have different syntax for different Python versions, there should be different versions of the file, and they should be shown in tabs in the docs. -* There should be tests testing the source example. -* Before the PR is applied, the new tests should fail. -* After applying the PR, the new tests should pass. -* Coverage should stay at 100%. -* If you see the PR makes sense, or we discussed it and considered it should be accepted, you can add commits on top of the PR to tweak it, to add docs, tests, format, refactor, remove extra files, etc. -* Feel free to comment in the PR to ask for more information, to suggest changes, etc. -* Once you think the PR is ready, move it in the internal GitHub project for me to review it. - -## Dependabot PRs - -Dependabot will create PRs to update dependencies for several things, and those PRs all look similar, but some are way more delicate than others. - -* If the PR is for a direct dependency, so, Dependabot is modifying `pyproject.toml` in the main dependencies, **don't merge it**. 😱 Let me check it first. There's a good chance that some additional tweaks or updates are needed. -* If the PR updates one of the internal dependencies, for example the group `dev` in `pyproject.toml`, or GitHub Action versions, if the tests are passing, the release notes (shown in a summary in the PR) don't show any obvious potential breaking change, you can merge it. 😎 - -## Mark GitHub Discussions Answers - -When a question in GitHub Discussions has been answered, mark the answer by clicking "Mark as answer". - -You can filter discussions by [`Questions` that are `Unanswered`](https://github.com/fastapi/sqlmodel/discussions/categories/questions?discussions_q=category:Questions+is:open+is:unanswered). diff --git a/docs/management.md b/docs/management.md index c5a1e09aff..1c94a096c1 100644 --- a/docs/management.md +++ b/docs/management.md @@ -1,8 +1,3 @@ ---- -include_yaml: - - data/members.yml ---- - # Repository Management Here's a short description of how the SQLModel repository is managed and maintained. @@ -17,34 +12,8 @@ I normally give the final review to each PR before merging them. I make the fina There's a team of people that help manage and maintain the project. 😎 -They have different levels of permissions and [specific instructions](./management-tasks.md). - -Some of the tasks they can perform include: - -* Adding labels to PRs. -* Editing PR titles. -* Adding commits on top of PRs to tweak them. -* Mark answers in GitHub Discussions questions, etc. -* Merge some specific types of PRs. - -Joining the team is by invitation only, and I could update or remove permissions, instructions, or membership. - -### Team Members - -This is the current list of team members. 😎 - -
-{% for user in members %} - -
@{{ user.login }}
-{% endfor %} - -
- -Additional to them, there's a large community of people helping each other and getting involved in the projects in different ways. - -## External Contributions +Learn more about it in [tiangolo.com - GitHub FastAPI](https://tiangolo.com/github-fastapi/). -External contributions are very welcome and appreciated, including answering questions, submitting PRs, etc. πŸ™‡β€β™‚οΈ +## External Help -There are many ways to [help maintain SQLModel](./help.md). +External help is very much appreciated. There are many ways to [help](./help.md). β˜•οΈ diff --git a/mkdocs.yml b/mkdocs.yml index 8db44a1245..3ad1b05c03 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -124,7 +124,6 @@ nav: - resources/index.md - help.md - contributing.md - - management-tasks.md - "": - about/index.md - alternatives.md