diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..bb7e4ef --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,11 @@ +name: Deploy nbdev-mkdocs generated documentation to GitHub Pages + +on: + push: + branches: [ "main", "master" ] + workflow_dispatch: +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: airtai/workflows/nbdev-mkdocs-ghp@main diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..5608592 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,7 @@ +name: CI +on: [workflow_dispatch, pull_request, push] + +jobs: + test: + runs-on: ubuntu-latest + steps: [uses: fastai/workflows/nbdev-ci@master] diff --git a/.gitignore b/.gitignore index 68bc17f..49f946d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ parts/ sdist/ var/ wheels/ +pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg @@ -49,7 +50,6 @@ coverage.xml *.py,cover .hypothesis/ .pytest_cache/ -cover/ # Translations *.mo @@ -72,7 +72,6 @@ instance/ docs/_build/ # PyBuilder -.pybuilder/ target/ # Jupyter Notebook @@ -83,9 +82,7 @@ profile_default/ ipython_config.py # pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version +.python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -94,22 +91,7 @@ ipython_config.py # install all needed dependencies. #Pipfile.lock -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/#use-with-ide -.pdm.toml - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +# PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ # Celery stuff @@ -138,6 +120,24 @@ venv.bak/ # mkdocs documentation /site +# docusaurus documentation +docusaurus/node_modules +docusaurus/docs +docusaurus/build + +docusaurus/.docusaurus +docusaurus/.cache-loader + +docusaurus/.DS_Store +docusaurus/.env.local +docusaurus/.env.development.local +docusaurus/.env.test.local +docusaurus/.env.production.local + +docusaurus/npm-debug.log* +docusaurus/yarn-debug.log* +docusaurus/yarn-error.log* + # mypy .mypy_cache/ .dmypy.json @@ -146,15 +146,30 @@ dmypy.json # Pyre type checker .pyre/ -# pytype static type analyzer -.pytype/ +# PyCharm +.idea + +# nbdev related stuff +.gitattributes +.gitconfig +_proc +_docs -# Cython debug symbols -cython_debug/ +nbs/asyncapi +nbs/guides/asyncapi +nbs/.last_checked +nbs/_*.ipynb +token +*.bak -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +# nbdev_mkdocs +mkdocs/docs/ +mkdocs/site/ + +# Ignore trashbins +.Trash* + + +# nbdev_mkdocs +mkdocs/docs/ +mkdocs/site/ \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..5c0e7ce --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,5 @@ +include settings.ini +include LICENSE +include CONTRIBUTING.md +include README.md +recursive-exclude * __pycache__ diff --git a/README.md b/README.md new file mode 100644 index 0000000..62b29d0 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# fastkafka-gen + + + +This file will become your README and also the index of your +documentation. + +## Install + +``` sh +pip install fastkafka_gen +``` + +## How to use + +Fill me in please! Don’t forget code examples: + +``` python +1+1 +``` + + 2 diff --git a/docker/.semgrepignore b/docker/.semgrepignore new file mode 100644 index 0000000..2a0d459 --- /dev/null +++ b/docker/.semgrepignore @@ -0,0 +1,2 @@ +dev.yml + diff --git a/docker/dev.yml b/docker/dev.yml new file mode 100644 index 0000000..fa9ff2b --- /dev/null +++ b/docker/dev.yml @@ -0,0 +1,22 @@ +version: "3" +services: + fastkafka-gen-devel: #nosemgrep + image: ghcr.io/airtai/nbdev-mkdocs + hostname: $DOCKER_COMPOSE_PROJECT-devel + container_name: $DOCKER_COMPOSE_PROJECT-devel + ports: + - "${PORT_PREFIX}8888:8888" + - "${PORT_PREFIX}4000:4000" + - "${PORT_PREFIX}6006:6006" + volumes: + - $AIRT_PROJECT:/work/fastkafka-gen + - /etc/passwd:/etc/passwd + - /etc/group:/etc/group + - /etc/shadow:/etc/shadow + - $HOME/.ssh:$HOME/.ssh + - $HOME/.gitconfig:/root/.gitconfig + environment: + USER: $USER + USERNAME: $USERNAME + PRESERVE_ENVS: $PRESERVE_ENVS + OPENAI_API_KEY: $OPENAI_API_KEY diff --git a/fastkafka_gen/__init__.py b/fastkafka_gen/__init__.py new file mode 100644 index 0000000..f102a9c --- /dev/null +++ b/fastkafka_gen/__init__.py @@ -0,0 +1 @@ +__version__ = "0.0.1" diff --git a/fastkafka_gen/_modidx.py b/fastkafka_gen/_modidx.py new file mode 100644 index 0000000..a34986e --- /dev/null +++ b/fastkafka_gen/_modidx.py @@ -0,0 +1,8 @@ +# Autogenerated by nbdev + +d = { 'settings': { 'branch': 'main', + 'doc_baseurl': '/fastkafka-gen', + 'doc_host': 'https://airtai.github.io', + 'git_url': 'https://github.com/airtai/fastkafka-gen', + 'lib_path': 'fastkafka_gen'}, + 'syms': {'fastkafka_gen.core': {'fastkafka_gen.core.foo': ('core.html#foo', 'fastkafka_gen/core.py')}}} diff --git a/fastkafka_gen/core.py b/fastkafka_gen/core.py new file mode 100644 index 0000000..6552cc5 --- /dev/null +++ b/fastkafka_gen/core.py @@ -0,0 +1,7 @@ +# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/00_core.ipynb. + +# %% auto 0 +__all__ = ['foo'] + +# %% ../nbs/00_core.ipynb 3 +def foo(): pass diff --git a/mkdocs/docs_overrides/css/extra.css b/mkdocs/docs_overrides/css/extra.css new file mode 100644 index 0000000..4df6365 --- /dev/null +++ b/mkdocs/docs_overrides/css/extra.css @@ -0,0 +1,29 @@ +.md-typeset .admonition.caution, +.md-typeset details.caution { + border-color: #ff9100; +} +.md-typeset .caution > .admonition-title, +.md-typeset .caution > summary { + background-color: #ff91001a; +} +.md-typeset .caution > .admonition-title::before, +.md-typeset .caution > summary::before { + background-color: #ff9100; + -webkit-mask-image: var(--md-admonition-icon--warning); + mask-image: var(--md-admonition-icon--warning); +} + +.md-typeset .admonition.important, +.md-typeset details.important { + border-color: #ff1744; +} +.md-typeset .important > .admonition-title, +.md-typeset .important > summary { + background-color: #ff17441a; +} +.md-typeset .important > .admonition-title::before, +.md-typeset .important > summary::before { + background-color: #ff1744; + -webkit-mask-image: var(--md-admonition-icon--danger); + mask-image: var(--md-admonition-icon--danger); +} diff --git a/mkdocs/docs_overrides/images/compass-outline.png b/mkdocs/docs_overrides/images/compass-outline.png new file mode 100644 index 0000000..17125bc Binary files /dev/null and b/mkdocs/docs_overrides/images/compass-outline.png differ diff --git a/mkdocs/docs_overrides/images/default_social_logo.png b/mkdocs/docs_overrides/images/default_social_logo.png new file mode 100644 index 0000000..d53cbad Binary files /dev/null and b/mkdocs/docs_overrides/images/default_social_logo.png differ diff --git a/mkdocs/docs_overrides/js/extra.js b/mkdocs/docs_overrides/js/extra.js new file mode 100644 index 0000000..e69de29 diff --git a/mkdocs/docs_overrides/js/mathjax.js b/mkdocs/docs_overrides/js/mathjax.js new file mode 100644 index 0000000..1d586b3 --- /dev/null +++ b/mkdocs/docs_overrides/js/mathjax.js @@ -0,0 +1,18 @@ +window.MathJax = { + tex: { + inlineMath: [["\\(", "\\)"]], + displayMath: [["\\[", "\\]"]], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: ".*|", + processHtmlClass: "arithmatex" + } +}; + +document$.subscribe(() => { + MathJax.typesetPromise() +}) + + diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml new file mode 100644 index 0000000..5b0ed13 --- /dev/null +++ b/mkdocs/mkdocs.yml @@ -0,0 +1,106 @@ +# Site +site_name: fastkafka-gen +site_url: https://airtai.github.io/fastkafka-gen +site_author: airt +site_description: The FastKafka-gen library uses advanced AI to generate FastKafka + code from user descriptions, speeding up FastKafka app development. + +# Repository +repo_name: fastkafka-gen +repo_url: https://github.com/airtai/fastkafka-gen +edit_uri: "" + +copyright: 2023 onwards, airt + +docs_dir: docs +site_dir: site + +plugins: +- literate-nav: + nav_file: SUMMARY.md +- search +- mkdocstrings: + handlers: + python: + import: + - https://docs.python.org/3/objects.inv + options: + heading_level: 2 + show_category_heading: true + show_root_heading: true + show_root_toc_entry: true + show_signature_annotations: true + show_if_no_docstring: true + +markdown_extensions: +- md_in_html +- pymdownx.arithmatex: + generic: true +- pymdownx.inlinehilite +- pymdownx.details +- pymdownx.emoji +- pymdownx.magiclink +- pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format +- pymdownx.tasklist +- pymdownx.highlight: + linenums: false +- pymdownx.snippets: + check_paths: true +- pymdownx.tabbed: + alternate_style: true +- admonition +- toc: + permalink: "¤" +# - callouts +theme: + name: material + custom_dir: site_overrides + features: + - navigation.instant +# - navigation.tabs +# - navigation.tabs.sticky +# - navigation.sections +# - navigation.expand + - navigation.indexes + - navigation.top +# - toc.integrates + - search.suggest + - search.highlight + - search.share + palette: + - scheme: slate + primary: black + accent: yellow + toggle: + icon: material/toggle-switch + name: Switch to light mode + - scheme: default + primary: black # deep orange + accent: red + toggle: + icon: material/toggle-switch-off-outline + name: Switch to dark mode + icon: + repo: fontawesome/brands/github +# repo: fontawesome/brands/gitlab + logo: material/compass-outline +# admonition: +# : + favicon: overrides/images/compass-outline.png + +extra_css: +- overrides/css/extra.css + +extra_javascript: +- overrides/js/extra.js +- overrides/js/mathjax.js +- https://polyfill.io/v3/polyfill.min.js?features=es6 +- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js +extra: + version: + provider: mike + social_image: "https://opengraph.githubassets.com/1691483169.608266/airtai/fastkafka-gen" diff --git a/mkdocs/site_overrides/main.html b/mkdocs/site_overrides/main.html new file mode 100644 index 0000000..747643a --- /dev/null +++ b/mkdocs/site_overrides/main.html @@ -0,0 +1,33 @@ +{% extends "base.html" %} + +{% block extrahead %} + {% set title = config.site_name %} + {% if page and page.meta and page.meta.title %} + {% set title = title ~ " - " ~ page.meta.title %} + {% elif page and page.title and not page.is_homepage %} + {% set title = title ~ " - " ~ page.title | striptags %} + {% endif %} + {% set image_url = config.extra.social_image %} + + + + + + + + + + + + + +{% endblock %} + +{% block outdated %} + You're not viewing the latest version. + + Click here to go to latest. + +{% endblock %} + + diff --git a/mkdocs/site_overrides/partials/copyright.html b/mkdocs/site_overrides/partials/copyright.html new file mode 100644 index 0000000..c06bae1 --- /dev/null +++ b/mkdocs/site_overrides/partials/copyright.html @@ -0,0 +1,17 @@ + diff --git a/mkdocs/summary_template.txt b/mkdocs/summary_template.txt new file mode 100644 index 0000000..695eb25 --- /dev/null +++ b/mkdocs/summary_template.txt @@ -0,0 +1,6 @@ +{sidebar} +- API +{api} +- CLI +{cli} +- [Releases]{changelog} diff --git a/nbs/00_core.ipynb b/nbs/00_core.ipynb new file mode 100644 index 0000000..6671b71 --- /dev/null +++ b/nbs/00_core.ipynb @@ -0,0 +1,61 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# core\n", + "\n", + "> Fill in a module description here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| default_exp core" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| hide\n", + "from nbdev.showdoc import *" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| export\n", + "def foo(): pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| hide\n", + "import nbdev; nbdev.nbdev_export()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "python3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/nbs/_quarto.yml b/nbs/_quarto.yml new file mode 100644 index 0000000..0a6dfcb --- /dev/null +++ b/nbs/_quarto.yml @@ -0,0 +1,20 @@ +project: + type: website + +format: + html: + theme: cosmo + css: styles.css + toc: true + +website: + twitter-card: true + open-graph: true + repo-actions: [issue] + navbar: + background: primary + search: true + sidebar: + style: floating + +metadata-files: [nbdev.yml, sidebar.yml] \ No newline at end of file diff --git a/nbs/index.ipynb b/nbs/index.ipynb new file mode 100644 index 0000000..9df0f09 --- /dev/null +++ b/nbs/index.ipynb @@ -0,0 +1,96 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| hide\n", + "from fastkafka_gen.core import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# fastkafka-gen\n", + "\n", + "> The FastKafka-gen library uses advanced AI to generate FastKafka code from user descriptions, speeding up FastKafka app development." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This file will become your README and also the index of your documentation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Install" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "```sh\n", + "pip install fastkafka_gen\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## How to use" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fill me in please! Don't forget code examples:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": null, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1+1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "python3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/nbs/nbdev.yml b/nbs/nbdev.yml new file mode 100644 index 0000000..1970b07 --- /dev/null +++ b/nbs/nbdev.yml @@ -0,0 +1,9 @@ +project: + output-dir: _docs + +website: + title: "fastkafka-gen" + site-url: "https://airtai.github.io/fastkafka-gen" + description: "The FastKafka-gen library uses advanced AI to generate FastKafka code from user descriptions, speeding up FastKafka app development." + repo-branch: main + repo-url: "https://github.com/airtai/fastkafka-gen" diff --git a/nbs/sidebar.yml b/nbs/sidebar.yml new file mode 100644 index 0000000..45222d2 --- /dev/null +++ b/nbs/sidebar.yml @@ -0,0 +1,5 @@ +website: + sidebar: + contents: + - index.ipynb + - 00_core.ipynb diff --git a/nbs/styles.css b/nbs/styles.css new file mode 100644 index 0000000..66ccc49 --- /dev/null +++ b/nbs/styles.css @@ -0,0 +1,37 @@ +.cell { + margin-bottom: 1rem; +} + +.cell > .sourceCode { + margin-bottom: 0; +} + +.cell-output > pre { + margin-bottom: 0; +} + +.cell-output > pre, .cell-output > .sourceCode > pre, .cell-output-stdout > pre { + margin-left: 0.8rem; + margin-top: 0; + background: none; + border-left: 2px solid lightsalmon; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.cell-output > .sourceCode { + border: none; +} + +.cell-output > .sourceCode { + background: none; + margin-top: 0; +} + +div.description { + padding-left: 2px; + padding-top: 5px; + font-style: italic; + font-size: 135%; + opacity: 70%; +} diff --git a/run_jupyter.sh b/run_jupyter.sh new file mode 100755 index 0000000..1c14aee --- /dev/null +++ b/run_jupyter.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +source set_variables.sh + +docker-compose -p $DOCKER_COMPOSE_PROJECT -f docker/dev.yml up -d --no-recreate + +sleep 10 + +docker logs $USER-fastkafka-gen-devel 2>&1 | grep token diff --git a/set_variables.sh b/set_variables.sh new file mode 100644 index 0000000..37ad2f6 --- /dev/null +++ b/set_variables.sh @@ -0,0 +1,15 @@ +#!/bin/bash +if test -z "$AIRT_PROJECT"; then + echo 'AIRT_PROJECT variable not set, setting to current directory' + export AIRT_PROJECT=`pwd` +fi +echo AIRT_PROJECT variable set to $AIRT_PROJECT + +export UID=$(id -u) +export GID=$(id -g) + +export DOCKER_COMPOSE_PROJECT="${USER}-fastkafka-gen" +echo DOCKER_COMPOSE_PROJECT variable set to $DOCKER_COMPOSE_PROJECT +export KAFKA_HOSTNAME="${DOCKER_COMPOSE_PROJECT}-kafka-1" +echo KAFKA_HOSTNAME variable set to $KAFKA_HOSTNAME +export PRESERVE_ENVS="KAFKA_HOSTNAME,KAFKA_PORT" diff --git a/settings.ini b/settings.ini new file mode 100644 index 0000000..ea1592a --- /dev/null +++ b/settings.ini @@ -0,0 +1,43 @@ +[DEFAULT] +# All sections below are required unless otherwise specified. +# See https://github.com/fastai/nbdev/blob/master/settings.ini for examples. + +### Python library ### +repo = fastkafka-gen +lib_name = %(repo)s +version = 0.0.1 +min_python = 3.7 +license = apache2 +black_formatting = False + +### nbdev ### +doc_path = _docs +lib_path = fastkafka_gen +nbs_path = nbs +recursive = True +tst_flags = notest +put_version_in_init = True + +### Docs ### +branch = main +custom_sidebar = False +doc_host = https://%(user)s.github.io +doc_baseurl = /%(repo)s +git_url = https://github.com/%(user)s/%(repo)s +title = %(lib_name)s + +### PyPI ### +audience = Developers +author = airt +author_email = info@airt.ai +copyright = 2023 onwards, %(author)s +description = The FastKafka-gen library uses advanced AI to generate FastKafka code from user descriptions, speeding up FastKafka app development. +keywords = nbdev jupyter notebook python +language = English +status = 3 +user = airtai + +### Optional ### +# requirements = fastcore pandas +dev_requirements = nbdev-mkdocs==0.6.0 +# console_scripts = \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..e3281ae --- /dev/null +++ b/setup.py @@ -0,0 +1,57 @@ +from pkg_resources import parse_version +from configparser import ConfigParser +import setuptools, shlex +assert parse_version(setuptools.__version__)>=parse_version('36.2') + +# note: all settings are in settings.ini; edit there, not here +config = ConfigParser(delimiters=['=']) +config.read('settings.ini', encoding='utf-8') +cfg = config['DEFAULT'] + +cfg_keys = 'version description keywords author author_email'.split() +expected = cfg_keys + "lib_name user branch license status min_python audience language".split() +for o in expected: assert o in cfg, "missing expected setting: {}".format(o) +setup_cfg = {o:cfg[o] for o in cfg_keys} + +licenses = { + 'apache2': ('Apache Software License 2.0','OSI Approved :: Apache Software License'), + 'mit': ('MIT License', 'OSI Approved :: MIT License'), + 'gpl2': ('GNU General Public License v2', 'OSI Approved :: GNU General Public License v2 (GPLv2)'), + 'gpl3': ('GNU General Public License v3', 'OSI Approved :: GNU General Public License v3 (GPLv3)'), + 'bsd3': ('BSD License', 'OSI Approved :: BSD License'), +} +statuses = [ '1 - Planning', '2 - Pre-Alpha', '3 - Alpha', + '4 - Beta', '5 - Production/Stable', '6 - Mature', '7 - Inactive' ] +py_versions = '3.6 3.7 3.8 3.9 3.10'.split() + +requirements = shlex.split(cfg.get('requirements', '')) +if cfg.get('pip_requirements'): requirements += shlex.split(cfg.get('pip_requirements', '')) +min_python = cfg['min_python'] +lic = licenses.get(cfg['license'].lower(), (cfg['license'], None)) +dev_requirements = (cfg.get('dev_requirements') or '').split() + +setuptools.setup( + name = cfg['lib_name'], + license = lic[0], + classifiers = [ + 'Development Status :: ' + statuses[int(cfg['status'])], + 'Intended Audience :: ' + cfg['audience'].title(), + 'Natural Language :: ' + cfg['language'].title(), + ] + ['Programming Language :: Python :: '+o for o in py_versions[py_versions.index(min_python):]] + (['License :: ' + lic[1] ] if lic[1] else []), + url = cfg['git_url'], + packages = setuptools.find_packages(), + include_package_data = True, + install_requires = requirements, + extras_require={ 'dev': dev_requirements }, + dependency_links = cfg.get('dep_links','').split(), + python_requires = '>=' + cfg['min_python'], + long_description = open('README.md', encoding='utf-8').read(), + long_description_content_type = 'text/markdown', + zip_safe = False, + entry_points = { + 'console_scripts': cfg.get('console_scripts','').split(), + 'nbdev': [f'{cfg.get("lib_path")}={cfg.get("lib_path")}._modidx:d'] + }, + **setup_cfg) + + diff --git a/stop_jupyter.sh b/stop_jupyter.sh new file mode 100755 index 0000000..f4c85ed --- /dev/null +++ b/stop_jupyter.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +source set_variables.sh + +docker-compose -p $DOCKER_COMPOSE_PROJECT -f docker/dev.yml down