Skip to main content

.github/workflows/test.yml .github/workflows/coverage.yml

The following package is used to evaluate all order derivatives and extensions for any type of single or multivariate functions.

Installation and Setup

Install the package via a package manager such as pip or download manually from PyPi at https://pypi.org/project/autodiff-cs107-bjmms/.

pip install autodiff-cs107-bjmms

Once installed, create a new python script, import the package, and make an instance of the Differentiator class.

import autodiff as ad

#Instantiate differentiator class
diff = ad.Differentiator()

Directory structure

Our code is organized into the following structure. The .yml files are the continuous integration files that run tests and check coverage for our package. The documentation can be found in the docs folder. The source code is broken down into three modules, functions, dual_numbers and auto_diff. The tests are split into two frameworks, in the first we test the differentiation structure and in the second we test the functions and the dual number algebra. Finally we have our essential package files.

|-----.github
|   |
|   |-----workflows
|      |
|      |-----coverage.yml
|      |-----test.yml
|-----docs
|  |
|  |-----documentation.ipynb
|  |-----milestone1.ipynb
|  |-----milestone2.md
|-----src
|  |
|  |-----autodiff
|     |
|     |----- __init__.py
|     |----- functions.py
|     |----- dual_numbers.py
|     |----- auto_diff.py
|-----tests
|  |
|  |-----check_coverage.sh
|  |-----run_tests.sh 
|  |-----test_auto_diff.py
|  |-----test_dual_numbers.py
|-----.gitignore
|-----LICENSE
|-----README.md
|-----pyproject.toml

Broader Impact and Inclusivity Statement

Broader Impact

There are various broader impacts and implications of our software that we must be aware of. In an ideal world, our code will be used as intended, an open-source automatic differentiator that any user can implement and alter for their specific needs. If there are ways to make the software better, we hope that users will share their knowledge to better the software. That, however, might not be the case in the real world. The danger of an open-source software is that users could then take the software and alter it in devious ways that could hurt other users, such as changing the code so that it produces incorrect outputs. Luckily, there are checks and balances through GitHub and the history of merges, but there is also the issue of redistribution of our software under a different name. This could pose a problem if the redistributor is more popular and then begins to sell our software as it takes away from our ethical stance that there should be no barriers to use this software.

Software Inclusivity

Our aim for our software was that there should be no barrier for developers to contribute to our code base; however, there are various subtle barriers that we acknowledge. First, there is a barrier for users who are non-native English speakers as the documentation is entirely written in English as well as the code. This poses a problem because developers that do not know English are instantly left out and the literal manual they must look to is out of their reach. Furthermore, when dealing with push and pull request approvals, there are currently only computer science students on the administrative side, so if it came down to better documentation, for example, we would probably pay little attention to grammar, which could make it difficult for someone who is new to reading code and may rely heavily on the documentation. Python’s Diversity Statement is full of buzz words but no specifics. Within our group, we would like to introduce different types of programmers, with backgrounds from English majors to bootcamp graduates. We believe this would be the best way to ensure software inclusivity as this software is used by many members across the world.

Metadata

Release files for autodiff-cs107-bjmms 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autodiff-cs107-bjmms 0.0.3
File Size Uploaded Provenance Actions
autodiff-cs107-bjmms-0.0.3.tar.gz 10.1 kB Without provenance Details for autodiff-cs107-bjmms-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for autodiff-cs107-bjmms 0.0.3
File Interpreter ABI Platform Actions
autodiff_cs107_bjmms-0.0.3-py3-none-any.whl Python 3 none any Details for autodiff_cs107_bjmms-0.0.3-py3-none-any.whl

Total release size: 18.8 kB

Release files / autodiff-cs107-bjmms-0.0.3.tar.gz

Download URL autodiff-cs107-bjmms-0.0.3.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3717e27e25ac3787c375ad267636656c145b6a229c3fe688f0327285dfd6e926
BLAKE2b-256 checksum
How to use checksums
12ce42318c5dd86835f640668b2f8a0965c9b342489699d3f4963df69077a2e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.5

Release files / autodiff_cs107_bjmms-0.0.3-py3-none-any.whl

Download URL autodiff_cs107_bjmms-0.0.3-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ccd6a5a1e73bb4b2fe759baf97158babc408b1ec2d1b87d9ccca19c947482df
BLAKE2b-256 checksum
How to use checksums
8db8a9c851c91cd2bfaaf15cdc49c70740349f4afb8cd3d71f9aed76e7b49f68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.5

Security for autodiff-cs107-bjmms 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page