Skip to main content

Collection of core classes and definitions used in the Common Analytical Framework.

Project description

Transport for the North Logo

CAF.base

CAF Status - Pre-Alpha Supported Python versions Latest release Conda

Coverage Testing Badge Documentation Status code style: black

The Common Analytical Framework (CAF) Base (formerly caf.core) is a collection of core classes and definitions used across the CAF framework of models and tools. The goal of the CAF is to create easily implementable and adaptable transport planning and appraisal functionalities. It's the beginning of a project to make a lot of the useful stuff from NorMITs Demand more widely available and easily accessible.

Caf.base is a successor to the core module within NorMITs Demand. The class central to caf.base is the DVector, which is used for storing and manipulating vectors often used in transport modelling and analysis, such as trip end and land use data. See documentation on the DVector, and it's constituent parts ZoningSystem and Segmentation for more details.

Common Analytical Framework

This package is sits within the Common Analytical Framework (CAF), which is a collaboration between transport bodies in the UK to develop and maintain commonly used transport analytics and appraisal tools.


Contributing

CAF.base happily accepts contributions.

The best way to contribute to this project is to go to the issues tab and report bugs or submit a feature request. This helps CAF.base become more stable and full-featured. Please check the closed bugs before submitting a bug report to see if your question has already been answered.

Please see our contribution guidelines for details on contributing to the codebase or documentation.

Documentation

Documentation is created using Sphinx and is hosted online at cafbase.readthedocs.

The documentation can be built locally once all the docs requirements (docs/requirements.txt) are installed into your Python environment.

The provided make batch file, (inside the docs folder), allow for building the documentation in various target formats. The command for building the documentation is make {target} (called from within docs/), where {target} is the type of documentation format to build. A full list of all available target formats can be seen by running the make command without any arguments but the two most common are detailed below.

HTML

The HTML documentation (seen on Read the Docs) can be built using the make html command, this will build the web-based documentation and provide an index.html file as the homepage, docs/build/html/index.html.

PDF

The PDF documentation has some other requirements before it can be built as Sphinx will first build a LaTeX version of the documentation and then use an installed TeX distribution to build the PDF from those. If you already have a TeX distribution setup then you can build the PDF with make latexpdf, otherwise follow the instructions below.

Installing LaTeX on Windows is best done using MiKTeX, as this provides a simple way of handling any additional TeX packages. Details of other operating systems and TeX distributions can be found on the Getting LaTeX page on LaTeX's website.

MiKTeX provides an installer on its website miktex.org/download, which will run through the process of getting it installed and setup. In addition to MiKTeX the specific process Sphinx uses for building PDFs is Latexmk, which is a Perl script and so requires Perl to be installed on your machine, this can be done with an installer provided by Strawberry Perl.

Once MiKTex and Perl are installed you are able to build the PDF from the LaTeX files, Sphinx provides a target (latexpdf) which builds the LaTeX files then immediately builds the PDF. When running make latexpdf MiKTeX may ask for permission to installed some required TeX packages. Once the command has finished the PDF will be located at docs/build/latex/cafbase.pdf.

Maintainers

  • Isaac Scott (isaac-tfn)
  • Matt Buckley (MattBuckley-TfN)

Credit

This project was created using the Common Analytical Framework cookiecutter template found here: https://github.com/Transport-for-the-North/cookiecutter-caf

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

caf_base-0.4.1.tar.gz (94.6 kB view details)

Uploaded Source

Built Distribution

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

caf_base-0.4.1-py3-none-any.whl (93.8 kB view details)

Uploaded Python 3

File details

Details for the file caf_base-0.4.1.tar.gz.

File metadata

  • Download URL: caf_base-0.4.1.tar.gz
  • Upload date:
  • Size: 94.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for caf_base-0.4.1.tar.gz
Algorithm Hash digest
SHA256 e539138cd605d13f3d8f2b75161eb603d1be896af5c2dffafa02ef11aee26da3
MD5 3ba63cf7b055b15668cb513a906ebed8
BLAKE2b-256 076025868e3c77e1917a3fecc585baefe7f7ad60e37e0aff24a2607a871cde4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for caf_base-0.4.1.tar.gz:

Publisher: release.yml on Transport-for-the-North/caf.base

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

File details

Details for the file caf_base-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: caf_base-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 93.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for caf_base-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16478bd7e545d236073c6d85d5d93f6978a56ee57d06c76aa299cdbb6e171bd3
MD5 b8b2583172b33c5f04346514285a5283
BLAKE2b-256 2141f5fe6210b675304ab6cfebcec59540603a6c5aeb4bf186d72761cbd2029e

See more details on using hashes here.

Provenance

The following attestation bundles were made for caf_base-0.4.1-py3-none-any.whl:

Publisher: release.yml on Transport-for-the-North/caf.base

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