Giter VIP home page Giter VIP logo

pylabrad's Introduction

pylabrad

PyPI Build Status Coverage Status

pylabrad is an interface to the LabRAD system in python with support for both clients and servers. For general information about the LabRAD system/protocol see the labrad repository and associated wiki. For help getting started and understanding pylabrad take a look at the wiki.

Manager Compatibility

As of version 0.96.0, pylabrad is no longer compatible with the Delphi labrad manager available from Sourceforge. Instead, use the new scalabrad manager. The user interface for the manager and node along with the registry editor and grapher is now web-based (scalabrad-web).

Node Server

In addition to the basic labrad client/server support, this package also includes a tool called the "node" server in the labrad.node package. This server just runs other labrad servers, allowing you to start and stop them by sending labrad requests to the node. By running node servers on one or more machines connected to labrad, you can remotely control which labrad servers are running on those machines. This can be very useful in distributed setups. For more information, including required configuration in the LabRAD registry (to, e.g., define directories containing servers), see the node docstring. The node module is executable, so you should launch it with python -m labrad.node. To see documentation of the available command-line parameters run python -m labrad.node --help.

Contributing

For instructions on how to contribute to pylabrad, see contributing.md.

Tests

New code should have tests, and changes to existing code should not break existing tests. To run the test suite, you'll need to have pytest installed, then run py.test from the command line when in the pylabrad directory.

Building and Updating

Packages for pylabrad are distributed through PyPI. The best way to install pylabrad is using pip: pip install pylabrad. If installing using git and including in PYTHONPATH, note that versions 0.95.0 or later require the futures python package.

For contributors who need to build and upload new packages, do the following:

  • Tag the release. Create a git tag with the version number, e.g. git tag 1.0.0. You'll also want to push this tag to make it official: git push origin 1.0.0.
  • Build packages. Make sure you have a clean local tree (no pending changes beyond the tag) and then build the packages: source dist_build.sh. Packages will be built in the dist/ directory and you should take a look to make sure the version number was found properly.
  • Upload to PyPI. Run the provided script to upload packages: source dist_upload.sh. This requires the twine package to ensure that the connection to PyPI is secure, so you may need to install it locally first: pip install twine. Of course, you'll need a PyPI account that has permissions to update the pylabrad package.

Migration note

This repo was moved from the martinisgroup organization. To tell git to pull updates from the new location, you'll want to update the 'origin' remote in your local repository. Use git remote -v to see the names and urls for all remotes you have defined, then git remote set-url to update the url, changing the organization to labrad:

$ git remote -v
origin	[email protected]:martinisgroup/pylabrad (fetch)
origin	[email protected]:martinisgroup/pylabrad (push)

$ git remote set-url origin [email protected]:labrad/pylabrad

Credits

PyParsing Copyright (c) 2003-2007  Paul T. McGuire
unwrap.py from http://www.wave.co.nz/~glyn/

pylabrad's People

Contributors

maffoo avatar danielsank avatar pomalley avatar ejeffrey avatar chrismacklin avatar jwenner avatar kunalq avatar jayich avatar afowler avatar strilanc avatar dahlend avatar hvraven avatar julianskelly avatar fanmingyu212 avatar zchen088 avatar kylinzzx avatar

Watchers

James Cloos 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.