semvec/pypi-packages huggingface dataset:
scipion-ed 3!1.0.0
Base pyworkflow plugin for Electron Diffraction image processing
Keywords: workflows science pyworkflow image-processing scipion electron diffraction


scipion-ed
==========

**scipion-ed** is the base plugin defining the Domain for Electron Diffraction image processing.


Installation
------------

For using scipion-ed, we need to have a working Python 3 environment (e.g via virtualenv or conda).
After that, we might easily install by:

.. code-block:: bash

    pip install scipion-ed scipion-ed-dials


Development
-----------

For development, we probably want to download the source code and install from there. In that way
changes can be made and we can test it quickly. We also need a working Python 3 environment and we
recommend to create a development folder to download the source code.

.. code-block:: bash

    # Create a folder for the installation
    mkdir scipion-ed-dev
    cd scipion-ed-dev

    # Then we can install scipion-ed by:
    git clone git@github.com:scipion-ed/scipion-ed.git
    python -m pip install -e scipion-ed  # Install in the environment as development
    
    # And also install the plugins
    git clone git@github.com:scipion-ed/scipion-ed-dials.git
    python -m pip install -e scipion-ed-dials  # Install in the environment as development
    

Publishing the package to PyPI
..............................

In order to make scipion-ed available to install with `pip install scipion-ed`,
we need to:

.. code-block:: bash

    python install twine restructuredtext-lint
    cd scipion-ed

    # It might be a good idea to check the README.rst before uploading:
    rst-lint README.rst

    python setup.py sdist
    twine upload dist/scipion-ed-3.0.1.tar.gz

Running tests (TO BE UPDATED)
.............................

.. code-block:: bash

    cd scipion-ed
    cd pwed/tests
    python -m unittest discover

    # To visualize the test project you need to specify SCIPION_DOMAIN and SCIPION_VERSION
    export SCIPION_DOMAIN=scipion-ed/pwed
    export SCIPION_VERSION=3.0.0

    python scipion-pyworkflow/pyworkflow/apps/pw_project.py TestEdBaseProtocols



Python 3 environments
.....................

For development, we probably want to download the source code and install from there. In that way
changes can be made and we can test it quickly.

We also need a working Python 3 environment and we recommend to create a development folder to download the source code.

.. code-block:: bash

    # Create a clean virtual environment
    python -m virtualenv --python=python3 env
    source env/bin/activate

It is also possible to use a conda environment.

.. code-block:: bash

    # Create the environment
    conda create -n sped-dev python=3.8 pip
    conda activate sped-dev

Troubleshooting
---------------

If you get "error: command 'x86_64-linux-gnu-gcc' failed with exit status 1" you may need to install python3-dev:
sudo apt install python3-dev -y


Tkinter with Python3
....................


Tkinter with Conda
..................


.. image:: https://zenodo.org/badge/189014932.svg
   :target: https://zenodo.org/badge/latestdoi/189014932
propsettings 0.1.15
A python package to define how a class member should be rendered in a UI.
Requires Python: >=3.6

# propsettings

This packages enables you to decorate class member variables as a Setting. A Setting is a type of property that allows defining characteristics of a variable that are taken into account by a user interface code to render that variable properly.

# Installation
```pip install propsettings```

# Usage
To register a member variable as a Setting you must use the method ```register_as_setting```, e.g.
```python
from propsettings.configurable import register_as_setting

class Example:
  def __init__():
    self._variable = 4

register_as_setting(Example, "_variable")
```

You can specify the label the UI will show for that variable with
```python
register_as_setting(Example, "_variable", label="Variable label")
```

When the variable you want to decorate is initialized with None you must also specify the data type
```python
class Example:
  def __init__():
    self._variable = None

register_as_setting(Example, "_variable", setting_value_type=str)
```

Sometimes is desirable to draw (in the user interface) your variable in a different way than the default. For example, the default way to show an integer value is with a text edit validated to only accept numeric values. However, maybe your variable only makes sense in the range [0 , 10]. In that case is better to have a slider than a text edit. That is when setting types come into play. A setting type is a type of annotation that gives more information about how to draw and validate a variable. For example:
```python
from propsettings.setting_types.range_setting_type import Range

register_as_setting(Example, "_variable", setting_type=Range(0, 10))
```

To get a list of an object settings you can use
```python
from propsettings.configurable import get_settings

e = Example()
settings = get_settings(e)
```

# How to draw UI
This package is for variable annotation only. In order to draw user interfaces that take into account this annotations to render the variables you annotate, you must use another library. For Qt aaplications there is [propsettings_qt](https://github.com/mnicolas94/propsettings_qt)