Giter Site home page Giter Site logo

user_tools's Introduction

FIDUCEO FCDR Tools

User Tools

Public tools to be used with FIDUCEO FCDR and CDR data

Status

Build Status codecov.io

Dependencies

The Fiduceo User Tools depend on a number of packages, namely:

  • xarray
  • netcdf4
  • numpy
  • numexpr
  • dask

Installation

Create Python environment that satisfies the package list above. Then

$ python3 setup.py install

Developers may wish to not install actual Python files into the environment but instead just create links into their sources:

$ python3 setup.py develop

Usage

After successful installation, the following command-line scripts are available

fiduceo-radprop

Try

$ fiduceo-radprop --help

Customisation

In case you want to extend/customize the FIDUCEO tools, your can provide your own code contribution and install it into the Python environment with the installed fiduceo package.

Here are the steps to your first plugin:

(1) Create a simple Python project my_project with the following structure:

my_project/
    setup.py
    my_package/
        __init__.py
        my_plugin.py

(2) In the module my_plugin.py define a function run() which could be implemented like so:

def run():
    # TODO: add useful example, e.g. register a new algorithm or replace an existing one
    pass 

(3) The package's __init__.py may be left empty.

(4) Write the setup.py script using the following template:

from distutils.core import setup

setup(name='my_package',
      version="1.0",
      description='My FIDUCEO tools contrib',
      author='Me',
      packages=['my_package'],
      install_requires=['fiduceo'],
      entry_points={
          'fiduceo_user_tools_plugins': [
              #
              # The following internal plugins are for unit-testing only:
              #
              # _test_plugin_1 does nothing
              'my_plugin = my_package.my_plugin:run_plugin',
          ],
      })  

(5) Cd into your project my_project and install your contribution module:

$ cd my_project
$ python3 setup.py develop

The next time you run any FIDUCEO tool, your plugins are executed as well.

user_tools's People

Contributors

tomblock avatar forman avatar

Watchers

 avatar  avatar James Cloos avatar Jonathan Mittaz avatar Sam Hunt avatar  avatar

user_tools's Issues

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.