Skip to main content

Several small functions for classroom instruction.

Project description

Classroom Gizmos

This is a collection of functions for classroom instruction in introductory physics. This is basically using ipython as a calculator that displays the calculation and the results.
Typical usage to make a set of useful functions available in ipython:

from classroom_gizmos.handies import *
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script> <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

handies

classroom_gizmos.handies is a collection of small functions that are useful from an ipython prompt.
Note: Imports from astropy, PyQt5, and func_timeout
Certain functions and functionality are not available when some of the imported packages are unavailable.
The mine() function lists all the user functions defined in handies.py.

handies defines:

cdbn(), osname(),
hostname(), call(), rad(), deg(), sinD(), cosD(), tanD(),
asinD(), acosD(), atanD(), atan2D(), atan2P(), nCr(), comb(),
pltsize(), select_file(), select_file_timeout(), getTS(),
mine()

Trig Functions in Degrees
    'D' and 'P' trig functions work with degrees.
    'P' inverse functions return only positive angles.

greek ⟶ a string with greek alphabet.
pltsize( w, h, dpi=150) ⟶ resizes plots in matplotlib.
getTS() ⟶ returns a readable time stamp string.
mine() ⟶ lists what handies.py defines.

If PyQt5 package is available defines:

select_file and select_file_timeout

From math imports these functions:

pi, sqrt, cos, sin, tan, acos, asin, atan, atan2, degrees, radians, log, log10, exp

When astropy is available:

Defines nowMJD(); mjd2date(), date2mjd().
Imports astropy.units as "u", i.e. u.cm or u.GHz

import_install

importInstall()

pkg = importInstall( 'pkg_name')
OR
pkg = importInstall( 'pkg_name, 'PyPI_name')

This function tries to import a specified package and if that fails, it tries to install the package and then import it.
importInstall was written so that python programs can be distributed to students without detailed instructions on checking if package is installed and on installing the needed packages.
The function returns the package or None.

Warning: importInstall can not install all packages. It is less likely to install a package that is not pure python.


All functions should have doc strings that give more information about usage and parameters.

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.

Source Distribution

classroom_gizmos-0.0b2.dev5.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distribution

classroom_gizmos-0.0b2.dev5-py3-none-any.whl (23.7 kB view hashes)

Uploaded Python 3

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