Feature-rich open source library for building well-formatted and extensible engineering calculations.
Project description
efficalc
A feature-rich Python library for reimagined engineering calculations.
Contents
Introduction
efficalc provides an extensible, testable, and powerful framework for building and managing complex calculations.
efficalc is designed to transform how engineers approach calculations, moving away from traditional methods like manual spreadsheets and toward a more efficient, accurate, and collaborative engineering calculation process.
Simple syntax for Python calculations:
Turns into submittal-ready reports:
Examples
Some simple examples
Some more complex examples
Documentation and Distribution
Quickstart
Installation
Install efficalc with pip:
pip install efficalc
First Calculation Function
Calculations in efficalc are written as a function.
These calculation functions are primarily composed of Input
and Calculation
elements, but there are also many more options to make a clear and accurate calculation.
from efficalc import Calculation, Input, Title, sqrt
def calculation():
Title("Pythagorean's Theorem and Perimeter")
a = Input("a", 3, description="Length of side a")
b = Input("b", 4, description="Length of side b")
c = Calculation("c", sqrt(a**2 + b**2), description="Length of the hypotenuse")
Calculation("P", a + b + c, description="Perimeter of the triangle")
View the Report
Instantly view or print a report for your calculation in your browser with the ReportBuilder
.
from efficalc.report_builder import ReportBuilder
from pythagorean_perimeter import calculation
builder = ReportBuilder(calculation)
builder.view_report()
Updating Input Values
The value provided to the Input
class in your calculation function is treated as a default value.
When you run your calculation with different input values, pass in a dictionary of the default overrides into the optional second parameter of the ReportBuilder
:
new_inputs = {"a": 9.2, "b": 0.87}
builder = ReportBuilder(calculation, new_inputs)
builder.view_report()
Features
Automated report generation
Generate detailed, professional reports automatically, ensuring clarity and precision in communication.
Open source
efficalc welcomes community contributions. Request features or contribute directly to enhance its capabilities.
Engineering-specific features
Benefit from built-in tools tailored to solving common engineering challenges. See our section property library in action.
Reusable
Create calculation templates once and reuse them across multiple designs and projects, saving time and ensuring consistency.
Testable
Easily test your calculations to reduce errors and improve confidence every design. Read the testing guide.
Integrate with other workflows
Seamlessly integrate with your existing Python-enabled workflows to boost efficiency and connectivity across tools and platforms. See some examples of this.
Figures now supported
Easily add figures to your calculation reports for even more clarity. Read the full documentation for figures.
Control your content
Tailor your calculation reports to include only the most relevant information, making them as concise or detailed as you prefer.
Contributing
We welcome contributions of all kinds from the community! Whether it's reporting a bug, requesting a feature, or submitting a pull request, your input and engagement is invaluable to efficalc's development.
Built With
Documentation
License
efficalc is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.