{"id":18801245,"url":"https://github.com/velocitatem/pyfreebody","last_synced_at":"2025-04-13T17:32:01.754Z","repository":{"id":45097307,"uuid":"445289382","full_name":"velocitatem/pyfreebody","owner":"velocitatem","description":"Construct Freebody diagrams with a few lines of code 🐍","archived":false,"fork":false,"pushed_at":"2024-09-18T10:06:39.000Z","size":468,"stargazers_count":8,"open_issues_count":8,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-06T17:06:36.628Z","etag":null,"topics":["diagram","freebody","physics","python"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/pyfreebody/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/velocitatem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"buy_me_a_coffee":"velocitatem24"}},"created_at":"2022-01-06T19:37:02.000Z","updated_at":"2024-11-25T02:38:26.000Z","dependencies_parsed_at":"2022-09-06T03:00:45.068Z","dependency_job_id":"b944dca6-e3bf-4e26-b86f-fac22ed0c6e9","html_url":"https://github.com/velocitatem/pyfreebody","commit_stats":{"total_commits":39,"total_committers":5,"mean_commits":7.8,"dds":0.3846153846153846,"last_synced_commit":"7393301e76d00fcdfb1858a9a0b2b34b312f420e"},"previous_names":["danalves24com/pyfreebody"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velocitatem%2Fpyfreebody","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velocitatem%2Fpyfreebody/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velocitatem%2Fpyfreebody/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/velocitatem%2Fpyfreebody/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/velocitatem","download_url":"https://codeload.github.com/velocitatem/pyfreebody/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248752475,"owners_count":21156100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagram","freebody","physics","python"],"created_at":"2024-11-07T22:22:59.536Z","updated_at":"2025-04-13T17:31:56.746Z","avatar_url":"https://github.com/velocitatem.png","language":"Python","funding_links":["https://buymeacoffee.com/velocitatem24"],"categories":[],"sub_categories":[],"readme":"# pyfreebody\n\n[![PyPI version](https://img.shields.io/pypi/v/pyfreebody.svg)](https://pypi.org/project/pyfreebody/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python version](https://img.shields.io/pypi/pyversions/pyfreebody.svg)](https://pypi.org/project/pyfreebody/)\n[![Downloads](https://pepy.tech/badge/pyfreebody)](https://pepy.tech/project/pyfreebody)\n\n*Generate free-body diagrams with ease using Python!*\n\n---\n\n## Introduction\n\n**pyfreebody** is a Python package that simplifies the creation of free-body diagrams for physics and engineering applications. Whether you're a student learning mechanics, a teacher preparing course materials, or an engineer visualizing forces, **pyfreebody** makes it easy to generate and customize free-body diagrams programmatically.\n\n---\n\n## Features\n\n- 🌟 **Easy to Use**: Simple API for creating bodies and adding forces.\n- 🎨 **Customizable Diagrams**: Adjust colors, labels, and styles to fit your needs.\n- 🧭 **Supports Inclined Planes**: Handle basic systems and inclined planes effortlessly.\n- 🎲 **Randomized Colors**: Automatically generate visually distinct force vectors.\n- 💾 **Save and Display Diagrams**: Save diagrams to files or display them directly.\n- 🔧 **Extensible**: Built with flexibility in mind for future enhancements.\n\n---\n\n## Installation\n\nInstall **pyfreebody** using `pip`:\n\n```bash\npip install pyfreebody\n```\n\n---\n\n## Quick Start\n\nHere's how to create a basic free-body diagram:\n\n```python\nfrom pyfreebody import Freebody, Direction\n\n# Create a free-body diagram for a block\nfb = Freebody(name=\"Block\", mass=10)\n\n# Add forces acting on the block\nfb.addForce(name=\"Gravity\", magnitude=98.1, theta=Direction.down)\nfb.addForce(name=\"Normal\", magnitude=98.1, theta=Direction.up)\nfb.addForce(name=\"Applied Force\", magnitude=50, theta=Direction.right)\nfb.addForce(name=\"Friction\", magnitude=30, theta=Direction.left)\n\n# Generate and display the diagram\nfb.diagram()\n```\n\nThis code will generate a free-body diagram of a block with gravitational, normal, applied, and frictional forces.\nYou can find the [documentation here](DOCS.md)\n\n---\n\n\n## Contributing\n\nWe welcome contributions! If you'd like to improve **pyfreebody**, please follow these steps:\n\n1. **Fork** the repository.\n2. **Create** a new branch for your feature or bug fix:\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n3. **Commit** your changes with descriptive messages:\n   ```bash\n   git commit -am 'Add new feature: your-feature-name'\n   ```\n4. **Push** to your forked repository:\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n5. **Submit** a pull request to the main branch.\n\nPlease ensure your code follows best practices and includes appropriate tests.\n\n---\n\n## License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n---\n\n**pyfreebody** - Making physics diagrams effortless! 🚀\n\nBring your physics problems to life with clear and precise free-body diagrams. Happy diagramming!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvelocitatem%2Fpyfreebody","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvelocitatem%2Fpyfreebody","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvelocitatem%2Fpyfreebody/lists"}