GithubHelp home page GithubHelp logo

amandalund / celerpy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from celeritas-project/celerpy

0.0 0.0 0.0 15 KB

Experimental python front end to Celeritas

License: Other

Python 46.04% Makefile 53.96%

celerpy's Introduction

Warning This repository is experimental and bare-bones at the moment. It's not ready for use, but discussions and contributions are welcome!

Celeritas Python interface

You can pronounce this package like "slurpee," or really any other way you want. This celerpy package will be the Python-based front end to the Celeritas binary codes and include a user-friendly execution interface, visualization components, and postprocessing utilities.

Development

Development is a little weird if you're not used to modern python projects, especially because python development and packaging evolves so quickly. To isolate the development environment, pyenv and pip install a toolchain locally.

Setting up

External dependencies (easily installed through Homebrew or another package manager):

  • pyenv, which will install its own python versions in an isolated environment

After cloning the repository, run make pre-commit to:

  • Install the development version of python specified in .python-version to your pyenv prefix (default: ~/.pyenv, configurable with the PYENV_ROOT variable)
  • Set up a virtual environment in .venv that will contain all the development dependencies, including a celerpy symlink in its environment that will point to your working copy
  • Install pre-commit hooks that use the tools just installed in your virtual environment.

Testing and committing

At this point you can modify the python code and run tests without having to reinstall the dependencies, and every git commit will run the tests automatically. (Use git commit --no-verify to disable.)

The makefile specifies a few useful targets:

  • style: apply style fixups to all the python files in development
  • test: run tests
  • pip: reinstall all the dependencies in your virtual environment
  • rebuild_dependencies: update the requirements file if you add a new dependency to pyproject.toml

celerpy's People

Contributors

sethrj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.