Giter Club home page Giter Club logo

ubermagutil's Introduction

ubermagutil

Marijan Beg1,2, Martin Lang2, Samuel Holt2,3, Swapneel Amit Pathak2,4, and Hans Fangohr2,4,5

1 Department of Earth Science and Engineering, Imperial College London, London SW7 2AZ, UK
2 Faculty of Engineering and Physical Sciences, University of Southampton, Southampton SO17 1BJ, UK
3 Department of Physics, University of Warwick, Coventry CV4 7AL, UK
4 Max Planck Institute for the Structure and Dynamics of Matter, Luruper Chaussee 149, 22761 Hamburg, Germany
5 Center for Free-Electron Laser Science, Luruper Chaussee 149, 22761 Hamburg, Germany

Description Badge
Tests Build status
Linting pre-commit.ci status
Code style: black
Releases PyPI version
Anaconda-Server Badge
Coverage codecov
Documentation Documentation
YouTube YouTube
Binder Binder
Platforms Platforms
Downloads Downloads
License License
DOI DOI

About

ubermagutil is a Python package, integrated with Jupyter, providing:

  • definition of typesystem descriptors and decorators,

  • documentation inheritance decorators,

  • determining SI prefixes, and

  • various convenience functions.

It is available on Windows, MacOS, and Linux. It requires Python 3.8+.

Documentation

APIs and tutorials are available in the documentation. To access the documentation, use the badge in the table above.

Installation, testing, and upgrade

We recommend installation using conda package manager. Instructions can be found in the documentation.

Binder

This package can be used in the cloud via Binder. To access Binder, use the badge in the table above.

YouTube

YouTube video tutorials are available on the Ubermag channel.

Support

If you require support, have questions, want to report a bug, or want to suggest an improvement, please raise an issue in ubermag/help repository.

Contributions

All contributions are welcome, however small they are. If you would like to contribute, please fork the repository and create a pull request. If you are not sure how to contribute, please contact us by raising an issue in ubermag/help repository, and we are going to help you get started and assist you on the way.

Contributors:

License

Licensed under the BSD 3-Clause "New" or "Revised" License. For details, please refer to the LICENSE file.

How to cite

  1. M. Beg, M. Lang, and H. Fangohr. Ubermag: Towards more effective micromagnetic workflows. IEEE Transactions on Magnetics 58, 7300205 (2022).

  2. M. Beg, R. A. Pepper, and H. Fangohr. User interfaces for computational science: A domain specific language for OOMMF embedded in Python. AIP Advances 7, 56025 (2017).

  3. Marijan Beg, Martin Lang, Samuel Holt, Swapneel Amit Pathak, and Hans Fangohr. ubermagutil: Utility package used across Ubermag. DOI: 10.5281/zenodo.3539489 (2023).

Acknowledgements

  • OpenDreamKit โ€“ Horizon 2020 European Research Infrastructure project (676541)

  • EPSRC Programme Grant on Skyrmionics (EP/N032128/1)

ubermagutil's People

Contributors

fangohr avatar gamdow avatar lang-m avatar marijanbeg avatar pre-commit-ci[bot] avatar samjrholt avatar swapneelap avatar takluyver avatar ubermag-bot avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

fangohr stibus

ubermagutil's Issues

Time formatting in progress utility code

Currently, we use a "custom" time format in ubermagutil/progress.py:

        f"Running {package_name} ({runner_name})[{now:%Y/%m/%d %H:%M}]... ",

We should consider switching to ISO format.

ubermagutil 1.0 todo-list and discussion

The purpose of this issue is to collect and discuss todo-items on what could/should be done for ubermagutil 1.0 future release.

  • Base class for ubermagtable.Table and discretisedfield.Line to avoid code repetition.
  • Code for generating common repository data for all Ubermag repositories
  • Descriptor for callables.
  • Consider moving constants to this package (from micromagneticmodel).

Print summary line for progress bar

The progress bar (in the notebook) seems to not be persistent across sessions. It would be useful to also print the summary line (verbose 1) after the simulation is finished to have some persistent information about the runner and the runtime.

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.