First-Time Contributors’ Frequently Asked Questions

First-Time Contributors’ Frequently Asked Questions#

Technical Questions#

  1. How is the AutoEmulate project structured?

    • The key component is the AutoEmulate class in autoemulate/core/compare.py, which is the main class for setting up and comparing emulators, visualising and summarising results and saving models.

    • All other modules in autoemulate/ are supporting modules for the main class, such as data splitting, model processing, hyperparameter searching, plotting, saving, etc.

    • autoemulate/emulators/ contains the emulator models, which all inherit from a number of base classes captured in base.py.

    • autoemulate/simulations/ contains simple example simulations.

    • tests/ contains tests for the package.

    • data/ contains example datasets.

    • docs/ contains the documentation source files. We use jupyter-book to build the documentation.

  2. How do I set up my development environment for AutoEmulate?

    See the ‘Install from source for development’ section of the installation page.

  3. How do I run tests for AutoEmulate?

    • We use pytest to run the tests. To run all tests:

    pytest
    
    • To run tests with print statements:

    pytest -s
    
    • To run a specific test module:

    pytest tests/test_example.py
    
    • To run a specific test:

    pytest tests/test_example.py::test_function
    

Community and Support#

  1. Where can I ask questions if I’m stuck?

  2. Is there a code of conduct for contributors?

  3. How can I get involved in decision-making or project planning as a contributor?

    • We use GitHub Discussions for general discussion and Issues for project planning and development.