Jupyter

Python codeBy Mike Jackson, Software Architect

As part of my open call consultancy for LUX-ZEPLIN (LZ), I was asked about the feasibility of developing a web service that accepted Python code from users and executed their code server-side within a Linux environment. In this blog post I give a brief overview of a number of approaches that could be taken to implement such a service, focusing on those that protect the web service, and its underlying server, from code that is, whether by accident or design, malicious.

First things first, developing a web service that accepts Python code from users and runs this server-side is, in itself, it is not technically challenging. Any developer could knock up a proof-of-concept quite rapidly. The challenges are how to ensure that the web service is able to successfully run a user’s code, and how to protect the web service from the user’s code.

The first challenge, how to ensure that the server is able to successfully run a user’s code, can be restated as how to ensure that users only submit code that can successfully run on the server. At its simplest, this can be handled by publishing information about the environment within which the server will run the user’s code (e.g. operating system version, Python interpreter and…

Continue Reading

Jupyter sprintBy Raniere Silva, Community Officer, Software Sustainability Institute

On 16-20th January, the International Centre for Mathematical Sciences hosted the Computational Mathematics with Jupyter workshop organised jointly by the OpenDreamKit and CoDiMa projects where GAP, Singular, SageMath, Jupyter users and developers met for experience sharing talks and coding hackathons.

In a previous blog post, we covered the talks during the Computational Mathematics with Jupyter workshop and in this post we will mention some of the achievements of the workshop attendees during the sprint. If you do a search on Wikipedia, "a sprint is a get-together of people involved in a project to further a focused development of the project", but at this sprint attendees worked on more than one project. Some people are sceptical about the value of sprints, but we hope that the Jupyter sprint helped…

Continue Reading

 

ICMStalksBy Raniere Silva, Software Sustainability Institute, Hans Fangohr, University of Southampton.

From the 16th to the 20th January, the International Centre for Mathematical Sciences  hosted the Computational Mathematics with Jupyter Workshop organised jointly by the OpenDreamKit and CoDiMa projects where GAP, Singular, SageMath, Jupyter users and developers met for experience sharing talks and coding hackathons.

The workshop kickstarted with Mike Croucher asking the provocative question "is your research software correct?" Mike covered the reproducibility crises that, in his own words, can be partially solved with:

  • Automation (aka learn to program)

  • Writing code in a (very) high-level language

  • Getting some training

  • Using version control

Continue Reading

By Aleksandra Pawlik, Training Lead.

Training Taster sessions

In September the Institute delivered a series of Taster Sessions based on Software and Data Carpentry materials. We started with a set of Taster Sessions at the British Science Festival on 7th and 8th September. Two sessions covered data visualisation with Python and data management with SQL. Both sessions proved to be popular with the Festival participants. However, we were unfortunately interrupted by a fire alarm on the second day. Most importantly, this this training was a great opportunity to practice teaching techniques for two Software Carpentry volunteers: Anthony Harrison  and Dave Jones. Anthony has already completed Software Carpentry Instructor Training. Dave is planning to do so as soon as possible. 

The next Taster Session was held at the 5th Student Conference on Complexity Science, on 10th September. The session was organised by one of the Institute’s…

Continue Reading

By Aleksandra Pawlik, Training Lead.

Jupyter is an excellent solution for tacking problems with reproducible research. On 28 September in collaboration with ELIXIR UK, the Institute ran a workshop to introduce researchers to programmatic data manipulation using both tools.

The training was fully hands-on allowing the participants to try out on their own different Jupyter features. In short, Jupyter is an elaborated electronic lab book. It allows the user not only to take notes, embed images, link to resources but most importantly, provides a way to write interactive source code and capture and display the outputs within the notebook itself. Jupyter originated from the very popular IPython Notebook. Currently both, open source projects, are developed separately, albeit there is still a strong connection between them in terms of technology and communities.

The workshop started with an overview of the Jupyter interface with focus on working with code in cells and different underlying kernels which allow to write code in a variety of languages. We primarily used Python during the workshop and Software Carpentry materials came in very handy. After working with some sample datasets manipulating data with the NumPy library and then creating pretty plots…

Continue Reading
Subscribe to Jupyter