Skip to content

Commit d66e79a

Browse files
authored
Release v0.3.0 (#25)
1 parent 942d66d commit d66e79a

File tree

8 files changed

+107
-102
lines changed

8 files changed

+107
-102
lines changed

CONTRIBUTING.md

+56-8
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,69 @@
1-
# Contributing to JupyterLibrary
1+
## Contributing to JupyterLibrary
22

3-
## [Environment](#Environment)
4-
5-
Get `$CONDA_EXE`:
3+
### Get `CONDA_EXE`
64

75
- Get [miniforge](https://github.com/conda-forge/miniforge)
86

97
```bash
108
conda install -c conda-forge doit
9+
# optional meta-dependencies
10+
conda install -c conda-forge conda-lock mamba
1111
```
1212

13-
- optionally install
14-
- `mamba` for faster solves
15-
- `conda-lock` if changing dependencies
13+
### Get the code
14+
15+
```bash
16+
git clone http://github.com/robots-from-jupyter/robotframework-jupyterlibrary
17+
cd robotframework-jupyterlibrary
18+
```
1619

17-
## Doit
20+
### Doit
21+
22+
#### Listing all the tasks
23+
24+
```shell
25+
doit list
26+
```
27+
28+
#### Just run (just about) everything
1829

1930
```shell
2031
doit release
2132
```
33+
34+
#### Lock Files
35+
36+
> After adding/changing any dependencies in `.github/env_specs`, the _lockfiles_
37+
> need to be refreshed in `.github/locks` and committed.
38+
>
39+
> Requires `conda-lock`, and optionally `mamba` for faster solves
40+
41+
```shell
42+
doit lock
43+
```
44+
45+
#### Reproducing CI failures
46+
47+
By default, the `doit` scripts use the lockfile most like where you are
48+
developing, hoping for a better cache hit rate. On the same _operating system_,
49+
however, any of the pre-solved lockfiles can be used, by specifying the
50+
`RJFL_LOCKFILE` environment variable.
51+
52+
For example, if `linux-64` running `python3.6` with `jupyterlab 1` failed:
53+
54+
```bash
55+
#!/usr/bin/env bash
56+
set -eux
57+
RFJL_LOCKDIR=test/linux-64/py3.6/lab1 doit release
58+
```
59+
60+
Or, in a `bat` script:
61+
62+
```bat
63+
@echo on
64+
set RFJL_LOCKDIR=test/win-64/py3.9/lab1
65+
doit release
66+
```
67+
68+
This will recreate the `test` environment with the specified lockfile, and
69+
repeat all the steps.

README.md

+7-28
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
# Using
1414

15-
Write `.robot` files that use `JupyterLibrary` keywords.
15+
Write `.robot` files that use `JupyterLibrary` [keywords][]... or use [magics][]
16+
in notebooks.
1617

1718
```robotframework
1819
*** Settings ***
@@ -30,8 +31,6 @@ A Notebook in JupyterLab
3031
Capture Page Screenshot
3132
```
3233

33-
> or use [magics][] in notebooks.
34-
3534
See the [acceptance tests][] for examples.
3635

3736
# Installation
@@ -46,28 +45,7 @@ Or
4645
conda install -c conda-forge robotframework-jupyterlibrary
4746
```
4847

49-
## Development Installation
50-
51-
- get Firefox
52-
- Chrome works, too, but more fickle
53-
- get [Miniforge][] (as in Python 3.6+)
54-
- clone this repo...
55-
56-
git clone https://github.com/robots-from-jupyter/robotframework-jupyterlibrary
57-
cd robotframework-jupyterlibrary
58-
59-
- update and activate...
60-
61-
conda env update
62-
conda activate robotframework-jupyterlibrary
63-
64-
- then...
65-
66-
pip install -e . --no-deps --ignore-installed
67-
68-
- run the tests...
69-
70-
python -m scripts.atest
48+
Or see the [contributing guide][contributing] for a development install.
7149

7250
# Free Software
7351

@@ -98,10 +76,11 @@ contains code from a number of other projects:
9876
[conda-forge-badge]:
9977
https://img.shields.io/conda/vn/conda-forge/robotframework-jupyterlibrary.svg
10078
[docs]: https://robotframework-jupyterlibrary.readthedocs.io
101-
[seleniumlibrary]: https://github.com/robotframework/SeleniumLibrary
102-
[selibrary-license]:
103-
https://github.com/robotframework/SeleniumLibrary/blob/master/LICENSE.txt
10479
[jyve]: https://github.com/deathbeds/jyve
10580
[jyve-license]: https://github.com/deathbeds/jyve/blob/master/LICENSE
10681
[magics]:
10782
https://robotframework-jupyterlibrary.readthedocs.io/en/stable/MAGIC.html
83+
[keywords]:
84+
https://robotframework-jupyterlibrary.readthedocs.io/en/stable/KEYWORDS.html
85+
[contributing]:
86+
https://github.com/robots-from-jupyter/robotframework-jupyterlibrary/blob/master/CONTRIBUTING.md

docs/INSTALL.ipynb

+25-63
Original file line numberDiff line numberDiff line change
@@ -37,84 +37,46 @@
3737
"\n",
3838
"Here's a complete setup:\n",
3939
"```shell\n",
40-
"conda create \\\n",
41-
" -n testing-jupyter \\ # as good a name as any\n",
42-
" python=3 # 2020 is right around the corner\n",
40+
"conda create --name testing-jupyter --channel conda-forge \n",
41+
" python=3 \\ # 3.6 required, not tested with pypy \n",
42+
" jupyterlab \\\n",
43+
" robotframework-seleniumlibrary \\\n",
44+
" geckodriver\n",
4345
"\n",
44-
"conda activate testing-jupyter # get on the right PATH\n",
45-
"\n",
46-
"conda install \\\n",
47-
" -c conda-forge \\ # can't get all these from Austin\n",
48-
" jupyterlab \\ # mostly this\n",
49-
" robotframework-seleniumlibrary \\ # includes robotframework... and selenium\n",
50-
" geckodriver \\ # moz:\\\\a FTW\n",
51-
" python-chromedriver-binary # for the rest of the marketshare\n",
46+
"conda activate testing-jupyter\n",
5247
"\n",
5348
"pip install --no-deps \\ # don't want any surprises\n",
54-
" git+http://github.com/robots-from-jupyter/robotframework-jupyterlibrary#egg=JupyterLibrary\n",
49+
" git+http://github.com/robots-from-jupyter/robotframework-jupyterlibrary\n",
5550
"```"
5651
]
5752
},
53+
{
54+
"cell_type": "code",
55+
"execution_count": null,
56+
"metadata": {
57+
"jupyter": {
58+
"source_hidden": true
59+
}
60+
},
61+
"outputs": [],
62+
"source": [
63+
"__import__(\"IPython\").display.Markdown(\"../CONTRIBUTING.md\")"
64+
]
65+
},
5866
{
5967
"cell_type": "markdown",
6068
"metadata": {},
6169
"source": [
62-
"## DEV\n",
63-
"- clone\n",
64-
" \n",
65-
"```bash\n",
66-
"git clone http://github.com/robots-from-jupyter/robotframework-jupyterlibrary\n",
67-
"cd robotframework-jupyterlibrary\n",
68-
"```\n",
69-
"\n",
70-
"- update and activate\n",
71-
"\n",
72-
"```bash\n",
73-
"conda install -c conda-forge doit\n",
74-
"```\n",
75-
"\n",
76-
"- then\n",
77-
"\n",
78-
"```bash\n",
79-
"doit list\n",
80-
"```\n",
81-
"\n",
82-
"- a good starting point is everything needed to cut the next release\n",
83-
"\n",
84-
"```bash\n",
85-
"doit release\n",
86-
"```\n",
87-
"\n",
88-
"- a special case: if you want to update package versions, add new CI excursions, get `conda-lock` with `pip`, `conda` or `mamba`, then:\n",
89-
"\n",
90-
"```bash\n",
91-
"doit lock\n",
92-
"```"
70+
"### Appendix: Current tasks"
9371
]
9472
},
9573
{
96-
"cell_type": "markdown",
74+
"cell_type": "code",
75+
"execution_count": null,
9776
"metadata": {},
77+
"outputs": [],
9878
"source": [
99-
"### Reproducing CI failures\n",
100-
"\n",
101-
"By default, the `doit` scripts use the lockfile most like where you are developing, hoping for a better cache hit rate. On the same _operating system_, however, any of the pre-solved lockfiles can be used, by specifying the `RJFL_LOCKFILE` environment variable.\n",
102-
"\n",
103-
"For example, if `linux-64` running `python3.6` with `jupyterlab 1` failed:\n",
104-
"```bash\n",
105-
"#!/usr/bin/env bash\n",
106-
"set -eux\n",
107-
"RFJL_LOCKDIR=test/linux-64/py3.6/lab1 doit release\n",
108-
"```\n",
109-
"\n",
110-
"Or, in a `bat` script:\n",
111-
"```bat\n",
112-
"@echo on\n",
113-
"set RFJL_LOCKFILE=test/win-64/py3.9/lab1 \n",
114-
"doit release\n",
115-
"```\n",
116-
"\n",
117-
"This will recreate the `test` environment with the specified lockfile, and repeat all the steps."
79+
"!python ../dodo.py list --all --status"
11880
]
11981
}
12082
],

docs/_static/css/custom.css

+10
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,16 @@ a:active {
9696
background-color: transparent;
9797
}
9898

99+
body div.nbinput.container div[class*='highlight'],
100+
body div.nboutput.container div[class*='highlight'] {
101+
background-color: black;
102+
padding: 0.25em;
103+
}
104+
105+
body div.nboutput.container div[class*='highlight'] {
106+
margin-bottom: 1em;
107+
}
108+
99109
div.nbinput div.prompt,
100110
div.nboutput div.prompt {
101111
display: none;

docs/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def setup(app):
149149
exclude_patterns = [".ipynb_checkpoints", "**/.ipynb_checkpoints"]
150150

151151
# The name of the Pygments (syntax highlighting) style to use.
152-
pygments_style = None
152+
pygments_style = "native"
153153

154154

155155
# -- Options for HTML output -------------------------------------------------

dodo.py

+6
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ def task_lint():
215215

216216

217217
def task_js():
218+
"""javascript cruft"""
218219
env = "lint"
219220

220221
run_in = P.RUN_IN[env]
@@ -305,11 +306,14 @@ def _make_setup(env):
305306
P.DIST,
306307
P.SETUP["metadata"]["name"],
307308
]
309+
doc = f"[{env}] install from dist"
308310
else:
309311
pip_args = ["-e", "."]
312+
doc = f"[{env}] python development install"
310313

311314
yield dict(
312315
name=env,
316+
doc=doc,
313317
actions=[
314318
lambda: frozen.unlink() if frozen.exists() else None,
315319
[*pym, "pip", "install", "--no-deps", "--ignore-installed", *pip_args],
@@ -359,6 +363,7 @@ def task_test():
359363

360364
yield dict(
361365
name="atest",
366+
doc="run acceptance tests with robot",
362367
uptodate=[config_changed(os.environ.get("ATEST_ARGS", ""))],
363368
actions=[clean, [*pym, "_scripts.atest"], touch],
364369
file_dep=[P.OK.robot_dry_run, *robot_deps],
@@ -368,6 +373,7 @@ def task_test():
368373
# Presently not running this on CI
369374
yield dict(
370375
name="combine",
376+
doc="combine all robot outputs into a single HTML report",
371377
actions=[[*pym, "_scripts.combine"]],
372378
file_dep=[
373379
real_target,

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ project_urls =
1212
CI = https://github.com/robots-from-jupyter/robotframework-jupyterlibrary/actions
1313
Documentation = https://robotframework-jupyterlibrary.readthedocs.io/en/stable
1414
Releases = https://github.com/robots-from-jupyter/robotframework-jupyterlibrary/releases
15-
Source Code = https://gitlab.com/robots-from-jupyter/robotframework-jupyterlibrary
15+
Source Code = https://github.com/robots-from-jupyter/robotframework-jupyterlibrary
1616
author = Robots from Jupyter
1717
author_email = [email protected]
1818
license = BSD-3-Clause

src/JupyterLibrary/VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.0a0
1+
0.3.0

0 commit comments

Comments
 (0)