Skip to main content

Exercise database manager for LaTeX files

Project description

Phystool

This repository provides some tools to handle physics lecture notes, exercises, tests... It is based on four complementary elements:

  1. phystool: Manages a database of LaTeX documents with additional metadata
  2. physnoob: Provides some the of phystool's functionalities in a GUI
  3. physvim: [optional] Implements vim commands to interact with phystool
  4. phystex: [optional] LaTeX classes and packages that are compatible with phystool

Physnoob

A Qt GUI that lets you interact with phystool. It is automatically installed at the same time as phystool.

Physvim

Defines a set of commands that allows vim to interact with phystool. Simply add the following line in your ~/.vimrc file and update Vundle:

Plugin 'https://bitbucket.org/jdufour/physvim.git'

Phystex

The LaTeX classes and packages can be fully customised as long as the ~/.phystool/phystool.conf is correctly set. To get started, it is possible to use the classes and packages available in:

git clone git@bitbucket.org:jdufour/phystex.git

Installation

Install phystool within your python environment:

pip install git+https://bitbucket.org/jdufour/phystool.git@stable

To correctly display compilation messages, in particular the file paths, texmf.cnf needs to contain:

max_print_line=1000

Requirements

Git

If the database is already managed by git (i.e. the database's directory contains a .git directory), no automatic action will be performed.

Otherwise, the program will automatically attempt to initialise a new git repository. The remote repository can be set interactively but, to ensure that nothing is overwritten, it must be totally empty during for the initialization process to succeed.


Development

Virtualenv settings

add the following to postactivate

PHYSTOOL_DIR=/path/to/git/dir
PHYSTOOL_SRC_DIR=$PHYSTOOL_DIR/src/phystool
cd $PHYSTOOL_SRC_DIR
export GIT_CLIFF_WORKDIR=$PHYSTOOL_DIR
export QT_LOGGING_RULES="qt.pyside.libpyside.warning=true"
alias pt="python -m phystool"

the virtualenv must contain a static folder with:

  • README.md
  • themes.gitconfig (a config list of delta themes)
  • physdb_dev (a toy db that can be copied)

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

phystool-3.1.0.tar.gz (153.8 kB view details)

Uploaded Source

Built Distribution

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

phystool-3.1.0-py3-none-any.whl (477.1 kB view details)

Uploaded Python 3

File details

Details for the file phystool-3.1.0.tar.gz.

File metadata

  • Download URL: phystool-3.1.0.tar.gz
  • Upload date:
  • Size: 153.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for phystool-3.1.0.tar.gz
Algorithm Hash digest
SHA256 a6979280812e3967746063ea1074c417a24d27f49b84301105fb2414d41bfdc1
MD5 904dad1343d22c53196c951be4b5270e
BLAKE2b-256 0fac30f9c506dd107aa51b845863db984fe8618a68361fb3893a49e56031f6a4

See more details on using hashes here.

File details

Details for the file phystool-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: phystool-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 477.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for phystool-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bca9a9de41259184b3a4e03db665a87608d898a8f3ca7fdd282911b9b55c42b5
MD5 89ca9f93f322f62b0ffaea30ba5b4c4f
BLAKE2b-256 c10af111d14a9e5ef1115532687b6eef23a03105de0ebbf221bcaee3434cd2a4

See more details on using hashes here.

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