User:SRodlund/PAWS (staging)
Material may not yet be complete, information may presently be omitted, and certain parts of the content may be subject to radical, rapid alteration. More information pertaining to this may be available on the talk page.
NEW Landing page design with links out to other pages: https://wikitech.wikimedia.org/wiki/User:SRodlund/PAWS_(staging)/pagedesign
Design: Use this as the basis for your landing page: https://wikitech.wikimedia.org/wiki/Blubber
Rethink in terms of audiences (and tasks)
- Newcomers to the Wikimedia technical community -- automated tasks many newcomers can do to contribute to Wikimedia Projects
- Data Scientists -- Jupyter is the computational notebook of choice for data scientists -- share how they can use it to contribute to Wikimedia Projects
- Existing volunteers -- this is another good tool, with solid suppor that they can use to contribut to Wikimedia Projects
https://openstack-browser.toolforge.org/project/paws
Articles I like:
- Data science: https://www.nature.com/articles/d41586-018-07196-1
- 5 Reasons to NOT use Jupyter notebooks: https://towardsdatascience.com/5-reasons-why-jupyter-notebooks-suck-4dc201e27086
- Why Jupyter notebooks are so popular: https://analyticsindiamag.com/why-jupyter-notebooks-are-so-popular-among-data-scientists/
- https://medium.com/@ODSC/why-you-should-be-using-jupyter-notebooks-ea2e568c59f2
- Good explanation of the languge kernals: https://365datascience.com/why-python-for-data-science-and-why-jupyter-to-code-in-python/
- Good best practices / extensions (which I don't think can be used in our edition) https://www.analyticsvidhya.com/blog/2018/05/starters-guide-jupyter-notebook/
Overview
PAWS is a service. Jupyter notebook is a tool for non-complex jobs -- mostly used for Python. Open-Source
PAWS: A Web Shell (PAWS) is a Jupyter notebooks deployment hosted by Wikimedia.
PAWS is web-based and makes it possible for users to launch, publish, and fork notebooks without installing Jupyter. Jupyter notebooks hosted on PAWS allow users to create and share documents that contain live code, visualizations such as graphs, rich text, etc.
More of an intro here for each of the audiences noted above.
Is PAWS right for your project?
Example Uses
- Run a Pywikibot bot script
- Write your own bot
- Run an analysis of a small edit-a-thon
- Do cool things with...
Why to use
- For teaching, documenting and running smaller tasks
- For exploration, not production.
Why to use something else (Toolforge)
- You are collaborating and want to use code versioning through Gerrit or GitHub -- It is not possible to merge Jupyter notebooks
- Notebooks don't support test-driven debelopment. For repetitive and replicable jobs -- step up to a proper python project
- For long asynchronus tasks or continuous jobs -- okay for small jobs and data sets, but if you plan on running big jobs and data sets, create a proper project and deploy in Toolforge.
- The nonlinear nature of notebooks is frustrating for you (You have to pay attention to the order you run code in)
- Notebooks do not integrate with IDEs, have no linters or code style correction to ensure you are writing quality code.
Terms of use
All notebooks hosted on PAWS are available to the public. Notebooks should be relate to and support Wikimedia technical projects. Content hosted on PAWS should follow the Wikimedia Code of Conduct for technical spaces.
Tutorials, examples, and recipes
A page where all PAWS tutorials, examples, and recipes are hosted.
Getting started with PAWS
This Quickstart
Since PAWS is hosted in the cloud and requires no installation, you can get started right away without installing any software.
- Open PAWS
- Click the Sign in with MediaWiki button.
- This is your Wikimedia Single User Login (SUL). If you don't have a Wikimedia SUL account, you'll need to create one first.
- Allow permission for PAWS to perform some actions on your behalf.
- It's that easy!
Create
Create a new or upload an existing notebook.
- Click the New button and choose your notebook type. You can choose Python 3, Bash and R or Folder, Text File or Terminal.
Share
Share your notebook using a public link.
- Use the Public Link button to generate a public URL, or
- Alter the URL manually to make your notebook public: https://public-paws.wmcloud.org/User:YOURUSERNAME/YOURNOTEBOOK.ipynb
Fork
Fork an existing notebook
- Get the URL of another public PAWS notebook. Example: https://public-paws.wmcloud.org/YOURUSERNAME/YOURNOTEBOOK.ipynb
- Add
?format=raw
to the end of the URL to download a raw .ipynb file. Example: https://public-paws.wmcloud.org/YOURUSERNAME/YOURNOTEBOOK.ipynb?format=raw - Log into your PAWS account and use "upload" to upload this copy into your own directory.
- Link to Getting started with PAWS Tutorial
Tutorials
- Get Started with PAWS
- Examples and Recipes
General Use
- Looking to use the most common PAWS functions. Check out this user-created PAWS Cheatsheet
- PAWS is a Jupyter notebooks installation hosted by Wikimedia Cloud Services. The existing Jupyter Notebooks documentation is an excellent resource for PAWS users.
- Check out the PAWS Readme on Gitub for information on useful libraries and storage space.
PAWS and Pywikibot
PAWS and Pywikibot
Pywikibot is a Python library and collection of tools that automate work on MediaWiki sites. Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other MediaWiki wikis.
For detailed information about PAWS/Pywikibot integration, log-in, and set-up instructions see: The PAWS Pywikibot manual.
- PAWS & Pywikibot tutorial
- Examples and recipes
Maintainance and administration
Learn more about how PAWS is administered and maintained.
- PAWS/Tools/Admin - Internal administrative notes
- PAWS/Tools/Admin/Chico's notes
- Portal:Toolforge/Nodes#PAWS nodes
- Nova Resource:
- Icinga (access required) indicates the service's current health status in general
Report bugs, request features
- Learn more about ongoing PAWS development by checking out existing bug reports and feature requests under the PAWS project tag in Phabricator.
- Report bugs or request new features under the PAWS tag in Phabricator.
Source code
- Check out the PAWS source code.
See also
- Analytics/Systems/Jupyter - Jupyter notebooks for private data held by Analytics
- Pycharm? (Maybe point to this)
Note: Do not put passwords in notebooks (They are all public)