Code Monkey home page Code Monkey logo

easyapp's Introduction

Contributor Covenant PyPI badge License: BSD 3-Clause

Easyscience

About

EasyScience package is the foundation of the EasyScience family of projects, providing the building blocks for libraries and applications which aim to make scientific data simulation and analysis easier.

Install

EasyScience can be downloaded using pip:

pip install easyscience

Or direct from the repository:

pip install https://github.com/easyScience/EasyScience

Test

After installation, launch the test suite:

python -m pytest

Documentation

Documentation can be found at:

https://easyScience.github.io/EasyScience

Contributing

We absolutely welcome contributions. EasyScience is maintained by the ESS and on a volunteer basis and thus we need to foster a community that can support user questions and develop new features to make this software a useful tool for all users while encouraging every member of the community to share their ideas.

License

While EasyScience is under the BSD-3 license, DFO_LS is subject to the GPL license.

easyapp's People

Contributors

andrewsazonov avatar rozyczko avatar

Watchers

 avatar  avatar  avatar

Forkers

koshchii andped10

easyapp's Issues

Elements / Components vs Templates / Constrollers

Currently we have Elements and Components in the codebase for EasyApp

  • Element is supposed to be an atomic unit
  • Component is a construct of several atomic units

In QtQuick there are Templates, Controllers and Components

Suggestion

I would suggest to use the QtQuick terminology as the Element often resembles a Template. This would make it easier for people with a background in QML to understand the purpose of the code sitting in the folders and probably also force us to write the code in a more QML-like way.

I also have the impression that we could make the EasyApp more userfriendly by only "exposing" Components and keep everything in Elements hidden from the users of EasyApp

A lot of the BaseBokeh.qml is not general but specific to EasyDiffraction

i.e. Bragg and things about polarisation https://github.com/easyScience/easyApp/blob/bae8a781cfed7a8d8de130832c554614afbc7f9e/easyApp/Gui/Charts/BaseBokeh.qml#L19

Also all of the tab buttons.

In EasyReflectometry I have had to create a separate BaseBokeh.qml to support Reflectometry specific use cases. I suggest we discuss how to have the content of easyApp more general with specific functionality kept to the specific app repository.

Requirement for a 3d plotting library creates random box

EasyReflectometry doesn't have the need for 3d plotting. But easyApp expects 3d plotting and therefore EasyReflectometry has this random box in the preferences pane. (see attached image)
Screenshot 2022-10-19 at 13 39 35

The file that is expecting the 3d plotting library to be defined can be seen here

file:///Users/andrewmccluskey/mambaforge/envs/easyscience/lib/python3.8/site-packages/easyApp/Gui/Components/PreferencesDialog.qml:222: TypeError: Cannot read property 'current3dPlottingLib' of undefined
file:///Users/andrewmccluskey/mambaforge/envs/easyscience/lib/python3.8/site-packages/easyApp/Gui/Elements/ApplicationWindow.qml:21:5: Unable to assign [undefined] to QString
file:///Users/andrewmccluskey/mambaforge/envs/easyscience/lib/python3.8/site-packages/easyApp/Gui/Components/PreferencesDialog.qml:219: TypeError: Cannot read property 'plotting3dLibs' of undefined

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.