Skip to main content

A framework for exam and assignment generation using LaTeX and pythontex

Project description

pygacity

A Python package to enable high-throughput generation of problems suitable for exams and problem sets for thermodynamics courses

You may have learned how to use Python to solve thermodynamics problems, like equilibrium compositions for a reacting system, or phase compositions in vapor-liquid equilibrium. Pygacity takes this idea and uses Python to generate new problems. The problems are generated in such a way that they can be typeset into PDF's using LaTeX. Pygacity relies on the pythontex package in LaTeX to allow Python code to run during document compilation and results of those calculations automatically included in the document.

Installation

Pygacity can be installed from Pypi the usual way:

pip install pygacity

Pygacity is under active development. To install a bleeding edge version:

git clone git@github.com:cameronabrams/pygacity.git
cd pygacity
pip install -e .

Pygacity includes the LaTeX class file autoprob.cls under [INSTALL-DIR]/pygacity/resources/autoprob-package/tex/latex/. All latex-like commands that are managed by pygacity append this directory in a --include-directory argument. If you would like to use autoprob.cls outside of pygacity, you will need to make your LaTeX installation aware of autoprob-package root.

Release History

  • 0.6.0
    • speedups
  • 0.5.0
    • singlet subcommand
  • 0.4.1
    • updated examples
  • 0.4.0
    • examples
  • 0.3.0
    • Added multiple choice, short answer, and fill in the blank question types
  • 0.2.0
    • Package reorg
    • updated config yaml
  • 0.1.4
    • single-shot assignment creation with no serial numbers
    • additional LaTeX header commands available via config
    • upgraded ycleptic dependencies to 2.0.3
  • 0.1.3
    • combine subcommand
    • build subcommand
    • renamed to pygacity
  • 0.1.1
    • reorganized package
  • 0.0.1
    • Initial version

Meta

Cameron F. Abrams – cfa22@drexel.edu

Distributed under the MIT license. See LICENSE for more information.

https://github.com/cameronabrams

Contributing

  1. Fork it (https://github.com/cameronabrams/pygacity/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

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

pygacity-0.6.0.tar.gz (63.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygacity-0.6.0-py3-none-any.whl (80.8 kB view details)

Uploaded Python 3

File details

Details for the file pygacity-0.6.0.tar.gz.

File metadata

  • Download URL: pygacity-0.6.0.tar.gz
  • Upload date:
  • Size: 63.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pygacity-0.6.0.tar.gz
Algorithm Hash digest
SHA256 0dafb4f560e3330e6035d259d4b0ff9b543b11cfed0e5a7f7ea7f488c6ccd275
MD5 3688c22c9330a8d0e9c589949d3c889b
BLAKE2b-256 0f8d583a52a47395ec033f635349b22e823dedf4ff7121230caafd6d7e9c3697

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygacity-0.6.0.tar.gz:

Publisher: release.yaml on cameronabrams/pygacity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pygacity-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pygacity-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 80.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pygacity-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce32edc74431cbe5ac1bf654524c2a9c847e8f12e8196986b0e6943091bd9508
MD5 1bc947a2a37c9d768c71e06ac23db41c
BLAKE2b-256 8c78b359328221e574ff2ea83d6654a566d636fd15df9b2bd18edd2cf68d5f4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pygacity-0.6.0-py3-none-any.whl:

Publisher: release.yaml on cameronabrams/pygacity

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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