# 📐 shapes_geometry
`shapes_geometry` is a lightweight Python package for performing geometry calculations for common 2D and 3D shapes. It provides simple functions to compute area, perimeter, volume, surface area, and other geometric properties — perfect for students, educators, and developers building math-related tools.
---
## ✨ Features
- 📏 **2D Shapes:** Circle, Triangle, Square, Rectangle, Parallelogram, Rhombus, Trapezium, Kite, Semicircle, Regular Polygons (Pentagon, Hexagon, Octagon, Decagon)
- 📦 **3D Shapes:** Sphere, Cube, Cuboid, Cone, Cylinder
- 🧠 Simple API with functional structure (no classes)
- 🛠️ Easy to extend and integrate into other Python projects
---
## 📌 Version History
### v0.1.4 - Current Version
- Added `utils.validate_positive_numbers()` for reusable validation.
- Applied consistent dimension checks across shapes (circle, cylinder, etc.).
- Improved exception handling with:
- `ShapesGeometryError`
- `InvalidDimensionError`
- `InvalidCoordinateError`
### v0.1.3
- Added support for more 2D and 3D shapes (parallelogram, trapezium, cone, etc.).
- Introduced initial exception handling for invalid dimensions.
### v0.1.2
- Implemented core shapes: Circle, Square, Rectangle, Triangle, Cube, Sphere, Cylinder.
- Added area, perimeter, surface area, and volume functions.
### v0.1.1
- Basic setup with `__init__.py`.
- Organized shapes into modules.
- First working release with Circle and Square.
---
## 🚀 Installation
```bash
pip install shapes-geometry
```
## Example Usage
```bash
from shapes_geometry.shapes import circle, square, rectangle
print(circle.area(5)) # Output: 78.53981633974483
print(square.perimeter(4)) # Output: 16
print(rectangle.area(10, 5)) # Output: 50
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Arunk292002/shapes-geometry",
"name": "shapes-geometry",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "geometry shapes math area volume 2D 3D",
"author": "Arunkumar",
"author_email": "arun5412ten@gmail.com",
"download_url": null,
"platform": null,
"description": "# \ud83d\udcd0 shapes_geometry\r\n\r\n`shapes_geometry` is a lightweight Python package for performing geometry calculations for common 2D and 3D shapes. It provides simple functions to compute area, perimeter, volume, surface area, and other geometric properties \u2014 perfect for students, educators, and developers building math-related tools.\r\n\r\n---\r\n\r\n## \u2728 Features\r\n\r\n- \ud83d\udccf **2D Shapes:** Circle, Triangle, Square, Rectangle, Parallelogram, Rhombus, Trapezium, Kite, Semicircle, Regular Polygons (Pentagon, Hexagon, Octagon, Decagon)\r\n- \ud83d\udce6 **3D Shapes:** Sphere, Cube, Cuboid, Cone, Cylinder\r\n- \ud83e\udde0 Simple API with functional structure (no classes)\r\n- \ud83d\udee0\ufe0f Easy to extend and integrate into other Python projects\r\n\r\n---\r\n\r\n## \ud83d\udccc Version History\r\n\r\n### v0.1.4 - Current Version\r\n- Added `utils.validate_positive_numbers()` for reusable validation.\r\n- Applied consistent dimension checks across shapes (circle, cylinder, etc.).\r\n- Improved exception handling with:\r\n - `ShapesGeometryError`\r\n - `InvalidDimensionError`\r\n - `InvalidCoordinateError`\r\n\r\n### v0.1.3\r\n- Added support for more 2D and 3D shapes (parallelogram, trapezium, cone, etc.).\r\n- Introduced initial exception handling for invalid dimensions.\r\n\r\n### v0.1.2\r\n- Implemented core shapes: Circle, Square, Rectangle, Triangle, Cube, Sphere, Cylinder.\r\n- Added area, perimeter, surface area, and volume functions.\r\n\r\n### v0.1.1\r\n- Basic setup with `__init__.py`.\r\n- Organized shapes into modules.\r\n- First working release with Circle and Square.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Installation\r\n\r\n```bash\r\npip install shapes-geometry\r\n```\r\n\r\n## Example Usage \r\n\r\n```bash\r\nfrom shapes_geometry.shapes import circle, square, rectangle\r\n\r\nprint(circle.area(5)) # Output: 78.53981633974483\r\nprint(square.perimeter(4)) # Output: 16\r\nprint(rectangle.area(10, 5)) # Output: 50\r\n```\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Functions to calculate geometric properties of 2D and 3D shapes.",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/Arunk292002/shapes-geometry"
},
"split_keywords": [
"geometry",
"shapes",
"math",
"area",
"volume",
"2d",
"3d"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "befbca8ba5d1667771ee56811efb1a7a040bec735761e9202521a8af9f9ce3ab",
"md5": "5ae7374581147ec4aad6df5f84de55b9",
"sha256": "bfe663ddab6eeca114dbb8188f2eac691c7dec6f55e540376b320b3d48af2a68"
},
"downloads": -1,
"filename": "shapes_geometry-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5ae7374581147ec4aad6df5f84de55b9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 11486,
"upload_time": "2025-08-17T13:55:40",
"upload_time_iso_8601": "2025-08-17T13:55:40.753120Z",
"url": "https://files.pythonhosted.org/packages/be/fb/ca8ba5d1667771ee56811efb1a7a040bec735761e9202521a8af9f9ce3ab/shapes_geometry-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-17 13:55:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Arunk292002",
"github_project": "shapes-geometry",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "shapes-geometry"
}