Skip to main content

An Automatic Differentiation Package

Project description

.github/workflows/coverage.yml .github/workflows/tests.yml

team12

Team 12's private repository for CS107's final project.

Documentation

Our library's documentation

Installation

Install the latest AD library for application usage from PyPi.org with the command pip install autodiffpypi.

Development Setup

For developers interested in contributing to or making changes to the source code, follow the below instructions. Copy the SSH url for the Github repo, then follow the below steps in your terminal.

  1. git clone <repo>
  2. cd <repo>
  3. pip install virtualenv
  4. python -m venv autodiff_venv
  5. source autodiff_venv/bin/activate
  6. pip install -r requirements.txt

Running the tests

Run the command pytest to run all test suites. Provide an optional file parameter, e.g. pytest tests/test_dual_number.py to run the specified test. To view a coverage report, run the following command python3 -m pytest --cov=src/AutoDiffPy --cov-fail-under=90.

Broader Impact

Our software provides a tool for users to efficiently compute derivatives and jacobian values. As a public package lisenced under the MIT License, this tool may be used in a number of areas ranging from scientific research, personal projects, and industry applications. While our package provides similar functionality to pre-existing AutoDiff software, releasing our own version still contributes to the public domain by providing a unique implementation and framework that others may find particularly suitable to their use case.

As the authors of this package, there are a few consequences important to note. Firstly, while our library has undergone unit and integration testing, we cannot guarantee full correctness in all cases, especially under the conditions of large-scale usage. As with most software, this package may be subject to further iteration & fixes. There may be significant consequences if this AutoDiff library is used without user-written tests; therefore we expect any users to take responsibility for ensuring that their applications meet their expectations and that integrating this AutoDiff package does not make them susceptible to incorrect or unexpected results.

Software Inclusivity

The aim of this package is to increase access to Autodifferentiation capabilities, for students, researchers, programmers, and others who find it applicable. Additionally, our code is released on Github to improve visibility of the internal implementation of such libraries. We welcome open-source contributions or suggestions, which can be submitted by forking this repository and creating a pull-request (this pull request can contain a simple txt file for suggestions). Pull requests will be reviewed and approved by the original authors, who may reach out to you for collaboration. As an international team, we are happy to work with individuals of any background including non-native English speakers, and will provide language accomodation if needed. For those who are visually-impaired, an audio recording of this README can be accessed in the below Google Drive link.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autodiffpypi-1.0.0.tar.gz (816.6 kB view details)

Uploaded Source

Built Distribution

autodiffpypi-1.0.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file autodiffpypi-1.0.0.tar.gz.

File metadata

  • Download URL: autodiffpypi-1.0.0.tar.gz
  • Upload date:
  • Size: 816.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for autodiffpypi-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e89cfb7380d2d34f12e499d51aba09c9b39cd47d2fa2f9993103145768b74579
MD5 1c2c80e4e19eb549fa50365d538c0635
BLAKE2b-256 b8610abc92585836a40efdc57ff84c584702e5e51077a33cd35fcf93915acc87

See more details on using hashes here.

File details

Details for the file autodiffpypi-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: autodiffpypi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for autodiffpypi-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9cf1a23e8055b0871a41e34cb94369b2a1438df9a99c27a4d50d41278fc65b01
MD5 88d18d061d1de90736840461310c2823
BLAKE2b-256 73a36c869feecc9b79204797013ffbb779aee1727eb055e94476a195ad820727

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page