Metadata-Version: 2.4
Name: caf.brain
Version: 0.1.1
Summary: Common Analytical Framework package of Machine and Deep Learning tools.
Author: Transport for the North
License: Copyright © Transport for the North (“TfN”) (2025).
        
        
        Use of this software and associated documentation files (“the Software”) by you indicates your acceptance of the terms and conditions below (“the Licence”).
        We make available the Software to you on the basis of this Licence. We do not sell the Software to you. We remain the owners of the Software at all times. 
        
        We grant you a non-exclusive, worldwide, royalty-free, perpetual licence:
        (a)	to use the Software;
        (b)	to develop, modify and maintain the Software;
        (c)	copy, publish, distribute and transmit the Software;
        (d)	adapt the Software.
        
        Where you do any of the above you must acknowledge the source of the Software in your product or application by including or linking the following attribution statement in a prominent and noticeable location in or in the context of your product or application:
        “Outputs derived from CAF.Brain (the Common Analytical Framework AI Toolkit), developed by Transport for the North [https://github.com/Transport-for-the-North/caf.brain]”
        
        Any adaptations applied to the Software before application should be briefly described alongside the above citation. We encourage you to submit to us any adaptations to the Software and where you choose to do so your submissions will be considered for integration into the Software.
        
        The above are important conditions of this Licence and if you fail to comply with them the rights granted to you under this Licence will end automatically. 
        This Licence does not grant you any right to use the Software in a way that suggests any official status or that we endorse you or your use of the Software.
        The Software is licenced 'as is' and we exclude all representations, warranties, obligations and liabilities in relation to the Software to the maximum extent permitted by law.
        We are not liable for any errors or omissions in the Software and shall not be liable for any loss, injury or damage of any kind caused by its use. We do not guarantee the continued supply of the Software.
        This Licence is governed by the laws of the jurisdiction in which we have our principal place of business.
        
Project-URL: Bug Tracker, https://github.com/transport-for-the-north/caf.brain/issues
Project-URL: Homepage, https://github.com/transport-for-the-north/caf.brain
Project-URL: Source, https://github.com/transport-for-the-north/caf.brain
Project-URL: Documentation, https://cafbrain.readthedocs.io/
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: caf.toolkit>=0.9.0
Requires-Dist: joblib>=1.4.2
Requires-Dist: matplotlib>=3.8.4
Requires-Dist: numpy>=1.23.3
Requires-Dist: pandas>=2.2.3
Requires-Dist: PyYAML>=6.0.2
Requires-Dist: scikit-learn>=1.6.1
Requires-Dist: scipy>=1.15.1
Requires-Dist: seaborn>=0.13.2
Requires-Dist: statsmodels>=0.14.0
Requires-Dist: tqdm>=4.66.2
Provides-Extra: dev
Requires-Dist: black>=24; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: mypy_extensions>=1.0.0; extra == "dev"
Requires-Dist: pydocstyle[toml]>=6.3; extra == "dev"
Requires-Dist: pylint>=3.2; extra == "dev"
Requires-Dist: isort>=5.13; extra == "dev"
Requires-Dist: pytest>=8.3; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.6; extra == "dev"
Requires-Dist: versioningit>=3.1; extra == "dev"
Dynamic: license-file

![Transport for the North Logo](https://github.com/transport-for-the-north/caf.brain/blob/main/docs/TFN_Landscape_Colour_CMYK.png)

CAF.brAIn

> [!WARNING]  
> This package is in an early stage of development so features may change or be removed. 
> If using this package it is recommended to set a specific version and check before 
> upgrading to a new version.

Common Analytical Framework package of Machine and Deep Learning tools.

## Common Analytical Framework

This package is sits within the [Common Analytical Framework (CAF)](https://transport-for-the-north.github.io/caf_homepage/intro.html),
which is a collaboration between transport bodies in the UK to develop and maintain commonly used
transport analytics and appraisal tools.

---

Contributing

CAF.brain happily accepts contributions.

The best way to contribute to this project is to go to the [issues tab](https://github.com/transport-for-the-north/caf.brain/issues)
and report bugs or submit a feature request. This helps CAF.brain 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](https://github.com/Transport-for-the-North/.github/blob/main/CONTRIBUTING.rst)
for details on contributing to the codebase or documentation.

Documentation

Documentation is created using [Sphinx](https://www.sphinx-doc.org/en/master/index.html) and is hosted online at
[cafbrain.readthedocs](https://cafbrain.readthedocs.io/en/stable/).

The documentation can be built locally once all the docs requirements
([`docs/requirements.txt`](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`](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](https://www.latex-project.org/) 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](https://miktex.org/), 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](https://www.latex-project.org/get/) page on
LaTeX's website.

MiKTeX provides an installer on its website [miktex.org/download](https://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](https://mg.readthedocs.io/latexmk.html),
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](https://strawberryperl.com/).

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/cafbrain.pdf`](docs/build/latex/cafbrain.pdf).

## Maintainers

- Adil Zaheer (AdilZ16)
- Ben Taylor (BenTaylor-TfN)

## Credit

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