.. image:: https://github.com/sdpython/pyquickhelper/blob/master/_doc/sphinxdoc/source/_static/project_ico.png?raw=true
:target: https://github.com/sdpython/pyquickhelper/
.. _l-README:
pyquickhelper: automation of many things
========================================
.. image:: https://travis-ci.com/sdpython/pyquickhelper.svg?branch=master
:target: https://app.travis-ci.com/github/sdpython/pyquickhelper/
:alt: Build status
.. image:: https://ci.appveyor.com/api/projects/status/t2g9olcgqgdvqq3l?svg=true
:target: https://ci.appveyor.com/project/sdpython/pyquickhelper
:alt: Build Status Windows
.. image:: https://circleci.com/gh/sdpython/pyquickhelper/tree/master.svg?style=svg
:target: https://circleci.com/gh/sdpython/pyquickhelper/tree/master
.. image:: https://dev.azure.com/xavierdupre3/pyquickhelper/_apis/build/status/sdpython.pyquickhelper
:target: https://dev.azure.com/xavierdupre3/pyquickhelper/
.. image:: https://badge.fury.io/py/pyquickhelper.svg
:target: https://pypi.org/project/pyquickhelper/
.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:alt: MIT License
:target: http://opensource.org/licenses/MIT
.. image:: https://codecov.io/github/sdpython/pyquickhelper/coverage.svg?branch=master
:target: https://codecov.io/github/sdpython/pyquickhelper?branch=master
.. image:: http://img.shields.io/github/issues/sdpython/pyquickhelper.png
:alt: GitHub Issues
:target: https://github.com/sdpython/pyquickhelper/issues
.. image:: https://app.codacy.com/project/badge/Grade/9d73a6712fb24e2fa404b3e33c6201ac
:target: https://www.codacy.com/gh/sdpython/pyquickhelper/dashboard?utm_source=github.com&utm_medium=referral&utm_content=sdpython/pyquickhelper&utm_campaign=Badge_Grade
:alt: Codacy Badge
.. image:: http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/_images/nbcov.png
:target: http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/all_notebooks_coverage.html
:alt: Notebook Coverage
.. image:: https://pepy.tech/badge/pyquickhelper/month
:target: https://pepy.tech/project/pyquickhelper/month
:alt: Downloads
.. image:: https://img.shields.io/github/forks/sdpython/pyquickhelper.svg
:target: https://github.com/sdpython/pyquickhelper/
:alt: Forks
.. image:: https://img.shields.io/github/stars/sdpython/pyquickhelper.svg
:target: https://github.com/sdpython/pyquickhelper/
:alt: Stars
.. image:: https://img.shields.io/github/repo-size/sdpython/pyquickhelper
:target: https://github.com/sdpython/pyquickhelper/
:alt: size
`pyquickhelper <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html>`_
is used to automate the release of the documentation such as automating *Jenkins*,
converting notebooks into many formats, extending *Sphinx* with custom
extensions... It assumes the project is organized on the same template
as this one.
Functionalities
---------------
* simple forms in notebooks
* help generation including notebook conversion
* folder synchronization
* logging
* help running unit tests
* simple server to server sphinx documentation
* file compression, zip, gzip, 7z
* helpers for ipython notebooks (upgrade, offline run)
* parser to quickly add a magic command in a notebook
* Sphinx directives to integrate a blogpost in the documentation
* mechanism to add forms in notebooks
Design
------
This project contains the following folders:
* a source folder: *src*
* a unit test folder: *_unittests*, go to this folder and run *run_unittests.py*
* a folder: *_doc*, it will contain the documentation, a subfolder *_doc/sphinxdox/source/blog* contains blog post
to communicate on the module
* a file *setup.py* to build and to install the module, if the source were retrieve from GitHub,
the script can also be called with the following extra options (*python setup.py <option>*):
* clean_space: remove extra spaces in the code
* build_sphinx: builds the documentation
* unittests: run the unit tests, compute the code coverage
* a script *build_script.bat* which produces many script on Windows to easily run the setup,
generate the documentation, run the unit tests.
Examples
--------
Convert a notebook into slides:
::
from pyquickhelper.helpgen import nb2slides
nb2slides("nb.ipynb", "convert.slides.html")
Merge two notebooks:
::
from pyquickhelper.ipythonhelper import read_nb
nb1 = read_nb("<file1>", kernel=False)
nb2 = read_nb("<file2>", kernel=False)
nb1.merge_notebook(nb2)
nb1.to_json(outfile)
Run a notebook:
::
from pyquickhelper.ipythonhelper import run_notebook
run_notebook("source.ipynb", working_dir="temp",
outfilename="modified.ipynb",
additional_path = [ "c:/temp/mymodule/src" ] )
Run a command line program:
::
from pyquickhelper.loghelper import run_cmd
out,err = run_cmd("python setup.py install", wait=True)
A sphinx extension to generate python documentation from a script:
::
.. runpython::
:showcode:
import sys
print("sys.version_info=", str(sys.version_info))
Links
-----
* `GitHub/pyquickhelper <https://github.com/sdpython/pyquickhelper>`_
* `documentation <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html>`_
* `Blog <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/blog/main_0000.html#ap-main-0>`_
.. image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/sdpython/pyquickhelper/master
:alt: Binder
Raw data
{
"_id": null,
"home_page": "http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html",
"name": "pyquickhelper",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "pyquickhelper,synchronization, files,documentation,Xavier Dupr\u00e9,sphinx,notebooks,rst,helpers,automation",
"author": "Xavier Dupr\u00e9",
"author_email": "xavier.dupre@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b4/5e/019b51cd63151d249e75b68b144a7153537a606d9dd9b93e9077aa9ec762/pyquickhelper-1.12.3823.tar.gz",
"platform": null,
"description": "\n.. image:: https://github.com/sdpython/pyquickhelper/blob/master/_doc/sphinxdoc/source/_static/project_ico.png?raw=true\n :target: https://github.com/sdpython/pyquickhelper/\n\n.. _l-README:\n\npyquickhelper: automation of many things\n========================================\n\n.. image:: https://travis-ci.com/sdpython/pyquickhelper.svg?branch=master\n :target: https://app.travis-ci.com/github/sdpython/pyquickhelper/\n :alt: Build status\n\n.. image:: https://ci.appveyor.com/api/projects/status/t2g9olcgqgdvqq3l?svg=true\n :target: https://ci.appveyor.com/project/sdpython/pyquickhelper\n :alt: Build Status Windows\n\n.. image:: https://circleci.com/gh/sdpython/pyquickhelper/tree/master.svg?style=svg\n :target: https://circleci.com/gh/sdpython/pyquickhelper/tree/master\n\n.. image:: https://dev.azure.com/xavierdupre3/pyquickhelper/_apis/build/status/sdpython.pyquickhelper\n :target: https://dev.azure.com/xavierdupre3/pyquickhelper/\n\n.. image:: https://badge.fury.io/py/pyquickhelper.svg\n :target: https://pypi.org/project/pyquickhelper/\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n :alt: MIT License\n :target: http://opensource.org/licenses/MIT\n\n.. image:: https://codecov.io/github/sdpython/pyquickhelper/coverage.svg?branch=master\n :target: https://codecov.io/github/sdpython/pyquickhelper?branch=master\n\n.. image:: http://img.shields.io/github/issues/sdpython/pyquickhelper.png\n :alt: GitHub Issues\n :target: https://github.com/sdpython/pyquickhelper/issues\n\n.. image:: https://app.codacy.com/project/badge/Grade/9d73a6712fb24e2fa404b3e33c6201ac\n :target: https://www.codacy.com/gh/sdpython/pyquickhelper/dashboard?utm_source=github.com&utm_medium=referral&utm_content=sdpython/pyquickhelper&utm_campaign=Badge_Grade\n :alt: Codacy Badge\n\n.. image:: http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/_images/nbcov.png\n :target: http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/all_notebooks_coverage.html\n :alt: Notebook Coverage\n\n.. image:: https://pepy.tech/badge/pyquickhelper/month\n :target: https://pepy.tech/project/pyquickhelper/month\n :alt: Downloads\n\n.. image:: https://img.shields.io/github/forks/sdpython/pyquickhelper.svg\n :target: https://github.com/sdpython/pyquickhelper/\n :alt: Forks\n\n.. image:: https://img.shields.io/github/stars/sdpython/pyquickhelper.svg\n :target: https://github.com/sdpython/pyquickhelper/\n :alt: Stars\n\n.. image:: https://img.shields.io/github/repo-size/sdpython/pyquickhelper\n :target: https://github.com/sdpython/pyquickhelper/\n :alt: size\n\n`pyquickhelper <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html>`_\nis used to automate the release of the documentation such as automating *Jenkins*,\nconverting notebooks into many formats, extending *Sphinx* with custom\nextensions... It assumes the project is organized on the same template\nas this one.\n\nFunctionalities\n---------------\n\n* simple forms in notebooks\n* help generation including notebook conversion\n* folder synchronization\n* logging\n* help running unit tests\n* simple server to server sphinx documentation\n* file compression, zip, gzip, 7z\n* helpers for ipython notebooks (upgrade, offline run)\n* parser to quickly add a magic command in a notebook\n* Sphinx directives to integrate a blogpost in the documentation\n* mechanism to add forms in notebooks\n\nDesign\n------\n\nThis project contains the following folders:\n\n* a source folder: *src*\n* a unit test folder: *_unittests*, go to this folder and run *run_unittests.py*\n* a folder: *_doc*, it will contain the documentation, a subfolder *_doc/sphinxdox/source/blog* contains blog post\n to communicate on the module\n* a file *setup.py* to build and to install the module, if the source were retrieve from GitHub,\n the script can also be called with the following extra options (*python setup.py <option>*):\n * clean_space: remove extra spaces in the code\n * build_sphinx: builds the documentation\n * unittests: run the unit tests, compute the code coverage\n* a script *build_script.bat* which produces many script on Windows to easily run the setup,\n generate the documentation, run the unit tests.\n\nExamples\n--------\n\nConvert a notebook into slides:\n\n::\n\n from pyquickhelper.helpgen import nb2slides\n nb2slides(\"nb.ipynb\", \"convert.slides.html\")\n\nMerge two notebooks:\n\n::\n\n from pyquickhelper.ipythonhelper import read_nb\n nb1 = read_nb(\"<file1>\", kernel=False)\n nb2 = read_nb(\"<file2>\", kernel=False)\n nb1.merge_notebook(nb2)\n nb1.to_json(outfile)\n\nRun a notebook:\n\n::\n\n from pyquickhelper.ipythonhelper import run_notebook\n run_notebook(\"source.ipynb\", working_dir=\"temp\",\n outfilename=\"modified.ipynb\",\n additional_path = [ \"c:/temp/mymodule/src\" ] )\n\nRun a command line program:\n\n::\n\n from pyquickhelper.loghelper import run_cmd\n out,err = run_cmd(\"python setup.py install\", wait=True)\n\nA sphinx extension to generate python documentation from a script:\n\n::\n\n .. runpython::\n :showcode:\n\n import sys\n print(\"sys.version_info=\", str(sys.version_info))\n\nLinks\n-----\n\n* `GitHub/pyquickhelper <https://github.com/sdpython/pyquickhelper>`_\n* `documentation <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html>`_\n* `Blog <http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/blog/main_0000.html#ap-main-0>`_\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/sdpython/pyquickhelper/master\n :alt: Binder\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Various functionalities: folder synchronization, simple logging function, helpers to generate documentation with sphinx, sphinx extension, to run a command line, to run a notebook...",
"version": "1.12.3823",
"project_urls": {
"Download": "https://github.com/sdpython/pyquickhelper",
"Homepage": "http://www.xavierdupre.fr/app/pyquickhelper/helpsphinx/index.html"
},
"split_keywords": [
"pyquickhelper",
"synchronization",
" files",
"documentation",
"xavier dupr\u00e9",
"sphinx",
"notebooks",
"rst",
"helpers",
"automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3bff8ab2eb97c228b1877fc0a6317b20c6cc2bab5a166e70d500fff823c907a1",
"md5": "f8367425df7a04f5999cd88946acd210",
"sha256": "a183c0c2202198387be79810396f282d07ecc2ecf77b95a17a3dbac12dd3c326"
},
"downloads": -1,
"filename": "pyquickhelper-1.12.3823-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f8367425df7a04f5999cd88946acd210",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3281007,
"upload_time": "2023-05-31T10:38:10",
"upload_time_iso_8601": "2023-05-31T10:38:10.761683Z",
"url": "https://files.pythonhosted.org/packages/3b/ff/8ab2eb97c228b1877fc0a6317b20c6cc2bab5a166e70d500fff823c907a1/pyquickhelper-1.12.3823-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b45e019b51cd63151d249e75b68b144a7153537a606d9dd9b93e9077aa9ec762",
"md5": "87475a4fabdb56a585f85df10e07765f",
"sha256": "db2bdf4f27542aa2097d3ce74908e8612b7ea2e40aa46b61863b293c33e9bc35"
},
"downloads": -1,
"filename": "pyquickhelper-1.12.3823.tar.gz",
"has_sig": false,
"md5_digest": "87475a4fabdb56a585f85df10e07765f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3135979,
"upload_time": "2023-05-31T10:38:14",
"upload_time_iso_8601": "2023-05-31T10:38:14.994090Z",
"url": "https://files.pythonhosted.org/packages/b4/5e/019b51cd63151d249e75b68b144a7153537a606d9dd9b93e9077aa9ec762/pyquickhelper-1.12.3823.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-31 10:38:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sdpython",
"github_project": "pyquickhelper",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"circle": true,
"landscape": true,
"appveyor": true,
"requirements": [],
"lcname": "pyquickhelper"
}