From 863f3e3211749cf0a8c19ad1ab9b8b63ba4dbf77 Mon Sep 17 00:00:00 2001
From: Dirk Roorda
Date: Wed, 8 May 2024 14:35:56 +0100
Subject: [PATCH] docs update
---
index.js | 22 +-
tf/about/annotate.html | 2 +-
tf/about/annotateBrowser.html | 2 +-
tf/about/apps.html | 2 +-
tf/about/background.html | 2 +-
tf/about/browser.html | 2 +-
tf/about/clientmanual.html | 2 +-
tf/about/code.html | 2 +-
tf/about/corpora.html | 2 +-
tf/about/datamodel.html | 2 +-
tf/about/datasharing.html | 2 +-
tf/about/displaydesign.html | 2 +-
tf/about/faq.html | 2 +-
tf/about/fileformats.html | 2 +-
tf/about/index.html | 2 +-
tf/about/install.html | 2 +-
tf/about/manual.html | 2 +-
tf/about/optimizations.html | 2 +-
tf/about/releases.html | 19 +-
tf/about/releasesold.html | 2 +-
tf/about/searchdesign.html | 2 +-
tf/about/searchusage.html | 2 +-
tf/about/tests.html | 2 +-
tf/about/use.html | 2 +-
tf/about/usefunc.html | 2 +-
tf/about/variants.html | 2 +-
tf/about/volumes.html | 2 +-
tf/advanced/annotate.html | 6 +-
tf/advanced/app.html | 18 +-
tf/advanced/condense.html | 6 +-
tf/advanced/data.html | 18 +-
tf/advanced/display.html | 32 +-
tf/advanced/find.html | 8 +-
tf/advanced/helpers.html | 56 +--
tf/advanced/highlight.html | 10 +-
tf/advanced/index.html | 2 +-
tf/advanced/interchange.html | 4 +-
tf/advanced/links.html | 16 +-
tf/advanced/options.html | 22 +-
tf/advanced/render.html | 4 +-
tf/advanced/repo.html | 108 +++---
tf/advanced/search.html | 12 +-
tf/advanced/sections.html | 10 +-
tf/advanced/settings.html | 36 +-
tf/advanced/tables.html | 8 +-
tf/advanced/text.html | 8 +-
tf/advanced/unravel.html | 14 +-
tf/advanced/volumes.html | 10 +-
tf/advanced/zipdata.html | 16 +-
tf/app.html | 4 +-
tf/browser/command.html | 10 +-
tf/browser/html.html | 40 +-
tf/browser/index.html | 2 +-
tf/browser/kernel.html | 4 +-
tf/browser/ner/annotate.html | 8 +-
tf/browser/ner/corpus.html | 4 +-
tf/browser/ner/data.html | 26 +-
tf/browser/ner/form.html | 20 +-
tf/browser/ner/fragments.html | 38 +-
tf/browser/ner/helpers.html | 22 +-
tf/browser/ner/match.html | 6 +-
tf/browser/ner/ner.html | 12 +-
tf/browser/ner/request.html | 12 +-
tf/browser/ner/serve.html | 26 +-
tf/browser/ner/sets.html | 16 +-
tf/browser/ner/settings.html | 6 +-
tf/browser/ner/show.html | 10 +-
tf/browser/ner/web.html | 4 +-
tf/browser/serve.html | 14 +-
tf/browser/servelib.html | 12 +-
tf/browser/start.html | 8 +-
tf/browser/web.html | 12 +-
tf/browser/wrap.html | 16 +-
tf/capable.html | 18 +-
tf/cheatsheet.html | 2 +-
tf/clean.html | 8 +-
tf/client/index.html | 2 +-
tf/client/make/build.html | 68 ++--
tf/client/make/gh.html | 6 +-
tf/client/make/help.html | 2 +-
tf/client/make/index.html | 2 +-
tf/convert/addnlp.html | 20 +-
tf/convert/app/app.html | 6 +-
tf/convert/helpers.html | 18 +-
tf/convert/index.html | 2 +-
tf/convert/makewatm.html | 673 ++++++++++++++++++----------------
tf/convert/mql.html | 20 +-
tf/convert/pagexml.html | 32 +-
tf/convert/pandas.html | 4 +-
tf/convert/recorder.html | 24 +-
tf/convert/tei.html | 34 +-
tf/convert/tf.html | 4 +-
tf/convert/variants.html | 20 +-
tf/convert/walker.html | 40 +-
tf/convert/watm.html | 36 +-
tf/convert/xml.html | 24 +-
tf/convert/xmlCustom.html | 6 +-
tf/core/api.html | 34 +-
tf/core/command.html | 4 +-
tf/core/computed.html | 6 +-
tf/core/data.html | 12 +-
tf/core/edgefeature.html | 16 +-
tf/core/fabric.html | 14 +-
tf/core/files.html | 78 ++--
tf/core/generic.html | 12 +-
tf/core/helpers.html | 84 ++---
tf/core/index.html | 2 +-
tf/core/locality.html | 14 +-
tf/core/nodefeature.html | 14 +-
tf/core/nodes.html | 10 +-
tf/core/oslotsfeature.html | 8 +-
tf/core/otypefeature.html | 12 +-
tf/core/prepare.html | 20 +-
tf/core/text.html | 32 +-
tf/core/timestamp.html | 30 +-
tf/dataset/index.html | 2 +-
tf/dataset/modify.html | 4 +-
tf/dataset/nodemaps.html | 22 +-
tf/fabric.html | 10 +-
tf/index.html | 2 +-
tf/lib.html | 10 +-
tf/parameters.html | 4 +-
tf/search/graph.html | 12 +-
tf/search/index.html | 2 +-
tf/search/relations.html | 10 +-
tf/search/search.html | 20 +-
tf/search/searchexe.html | 18 +-
tf/search/semantics.html | 4 +-
tf/search/spin.html | 8 +-
tf/search/stitch.html | 6 +-
tf/search/syntax.html | 12 +-
tf/tools/checkdiffs.html | 4 +-
tf/tools/index.html | 2 +-
tf/tools/myspacy.html | 14 +-
tf/tools/nbconvert.html | 10 +-
tf/tools/pdocs.html | 14 +-
tf/tools/release.html | 4 +-
tf/tools/xmlschema.html | 50 +--
tf/volumes/collect.html | 4 +-
tf/volumes/extract.html | 6 +-
tf/volumes/index.html | 2 +-
tf/writing/arabic.html | 2 +-
tf/writing/greek.html | 2 +-
tf/writing/hebrew.html | 2 +-
tf/writing/index.html | 2 +-
tf/writing/neoaramaic.html | 2 +-
tf/writing/syriac.html | 2 +-
tf/writing/transcription.html | 50 +--
tf/writing/ugaritic.html | 2 +-
tf/zip.html | 4 +-
150 files changed, 1344 insertions(+), 1300 deletions(-)
diff --git a/index.js b/index.js
index 7c7c0869f..3e8204954 100644
--- a/index.js
+++ b/index.js
@@ -3586,7 +3586,7 @@ INDEX=[
{
"ref":"tf.about.releases",
"url":72,
-"doc":" Release notes ! hint \"Consult the tutorials after changes\" When we change the API, we make sure that the tutorials show off all possibilities. See the app-specific tutorials via tf.about.corpora . - The TEI converter is still in active development. If you need the latest version, clone the TF repo and in its top-level directory run the command: sh pip install -e . 12 12.4 12.4.3 2024-05-08 Fix in TF browser, spotted by Jorik Groen. When exporting query results, the values features used in the query were not written to the table at all. The expected behaviour was that features used in the query lead to extra columns in the exported table. It has been fixed. The cause was an earlier fix in the display of features in query results. This new fix only affects the export function from the browser, not the advanced.display.export function, which did not have this bug. 12.4.2 2024-04-24 Tiny fixes in the TEI and WATM conversions. 12.4.1 2024-04-24 Improvements in the TEI and WATM conversions. 12.4.0 2024-04-21 Support for [Marimo notebooks](https: docs.marimo.io/index.html). TF detects when its run in a notebook, and also in what kind of notebook: ipython (~ Jupyter) or marimo . When it needs to display material in the output of a cell, it will choose the methods that are suitable for the kind of notebook it is working in. 12.3 12.3.7 2024-04-19 Improvements in tf.convert.watm : the resulting data is much more compact, because: you can choose to export it as TSV instead of JSON; no annotations of type node are produced anymore, they only served to map annotations and text segments to TF nodes; now that mapping is exported as a simple TSV file; you can opt to exclude an arbitrary set of tags from being exported as WATM annotations. 12.3.6 2024-04-16 Minimal fixes in tf.convert.tei : it can handle a biography. Fixed prettyTuple() when passed _asString=True : it did not pass this on to pretty() which caused a Python error. 12.3.5 2024-03-26 extra functionality: When adding types with tf.dataset.modify you can link nodes of a newly added type to nodes that were added as the preiviously added type. This is a bit of a limited and ad hoc extension of the functionality of this function. I needed a quick fix to add nodes for entities and entity occurrences at the same time and link them with edges. This is for the corpus [ CLARIAH/wp6-missieven ](https: github.com/CLARIAH/wp6-missieven). fix: the express download of a dataset (complete.zip) was nit triggered in all cases where it should. 12.3.4 2024-02-26 The output of tf.convert.watm has been changed. It now generates token files per section, where you can configure the TF section level for that. The syntax for targets has been changed: more things are possible. Tests have been adapted and strengthened. 12.3.3 2024-02-20 Fix in tf.advanced.repo.publishRelease : it did not work if you are on a branch named main because master was hard-coded in the source code. Now it takes the branch name from the app context. Do not forget to specify branch: main under the provenanceSpecs in your /app/config.yaml . Many thanks to Tony Jorg for reporting this error. 12.3.1,2 2024-02-15 Minor improvements to the WATM converter, and an update of its docs. 12.3.0 2024-02-08 A new data export conversion, from TF to WATM. See tf.convert.watm . WATM is a not yet hardened data format that powers the publishing line for text and annotations built by Team Text at [KNAW/HuC Digital Infrastructure](https: di.huc.knaw.nl/text-analysis-en.html). Currently this export is used for the corpora [Mondriaan Proeftuin](https: github.com/annotation/mondriaan) [Suriano Letters](https: gitlab.huc.knaw.nl/suriano/letters) [TransLatin Corpus](https: gitlab.huc.knaw.nl/translatin/corpus) Small fixes in tf.convert.addnlp : when the NLP data is integrated in the TF dataset, the NLP-generated features will get some metadata 12.2 12.2.8,9,10 2024-01-24/25 TF can auto-download extra data with a TF dataset, e.g. a directory with named entities ( ner ) as in the [suriano corpus](https: gitlab.huc.knaw.nl/suriano/letters). However, this only worked when the repo was in the github backend and the extra data had been packed for express-download and attached to a release. Now it also works with the normal download methods using the GitHub and GitLab APIs. So, after the move of Suriano from GitHub to GitLab, this functionality is still available. There was a glitch in the layout of the NER tool which caused section labels to be chopped off at the margin, only in notebooks. Thats has been fixed by moving some CSS code from one file to an other. 12.2.7 2024-01-23 There were issues with starting up the Text-Fabric browser: If the system could not start the browser, the TF stopped the webserver. That is not helpful, because one can always open a browser and enter the url in the address bar. Now TF shows the url rather prominently when it does not open a browser. If debug mode is on, Flask reloads the whole process, and that might include opening the browser as well. Now Flask only opens the browser after the startup of the webserver, and not anymore after successive reloads. 12.2.6 2024-01-15 Somehow the express way of downloading data (via complete.zip attached to the latest release) did not get triggered in all cases where it should. It is now triggered in more cases than before. 12.2.5 2023-12-18 Small fix in NER browser: prevent submitting the form if the focus is in a textarea field or in an input field that does not have type=submit. 12.2.3,4 2023-12-09 Writing support for Ugaritic, thanks to Martijn Naaijer and Christian H\u00f8jgaard for converting a Ugaritic corpus to TF. Fix in display functions (continued): The logic of feature display, fixed in the previous version, was not effective when things are displayed in the TF browser. Because in the TF browser the features of the last query were passed as extraFeatures instead of tupleFeatures . This has been fixed by using tupleFeatures in the TF browser as well. 12.2.2 2023-12-02 Fix in display functions, thanks to Tony Jurg: if you do A.pretty(x, queryFeatures=False, extraFeatures=\"yy zz\") the extra features were not shown. So there was no obvious way to control exactly the features that you want to show in a display. That has been fixed. Further clarification: the node features that are used by a query are stored in the display option tupleFeatures . That is what causes them to be displayed in subsequent display statements. You can also explicitly set/pass the tupleFeatures parameter. However, the fact that queryFeatures=False prohibited the display of features mentioned in extraFeatures was against the intuitions. Improvements in the PageXML conversion. There are token features str , after that reflect the logical tokens There are token features rstr , rafter that reflect the physical tokens The distincition between logical and physical is that physical token triplets with the soft hyphen as the middle one, are joined to one logical token; this happens across line boundaries, but also region and page boundaries. 12.2.0,1 2023-11-28 New conversion tool: from PageXML. Still in its infancy. It uses the [PageXML tools](https: github.com/knaw-huc/pagexml) by Marijn Koolen. For an example see [translatin/logic](https: gitlab.huc.knaw.nl/translatin/logic/-/blob/main/tools/convertPlain.ipynb?ref_type=heads). Fix: TF did not fetch an earlier version of a corpus if the newest release contains a complete.zip (which only has the latest version). For some technical reason that still escapes me, the TF browser was slow to start. Fixed it by saying threaded=True to Flask, as suggested on [stackoverflow](https: stackoverflow.com/a/11150849/15236220) From now on: TF does not try to download complete.zip if you pass a version argument to the use() command. 12.1 12.1.6,7 2023-11-15 Various fixes: Some package data was not included for the NER annotation tool. In the NER tool, the highlighting of hits of the search pattern is now exact, it was sometimes off. Deleted tf.tools.docsright again, but developed it further in [docsright](https: github.com/annotation/docsright). 12.1.5 2023-11-02 Improvement in dependencies. Text-Fabric is no longer mandatory dependent on openpyxl , pandas , pyarrow , lxml . The optional dependencies on pygithub and python-gitlab remain, but most users will never need them, because TF can also fetch the complete.zip that is available as release asset for most corpora. Whenever TF invokes a module that is not in the mandatory dependencies, it will act gracefully, providing hints to install the modules in question. 12.1.3,4 2023-11-01 API change in the Annotator: Calling the annotator is now easier: A.makeNer() (No need to make an additional import statement.) This will give you access to all annotation methods, including using a spreadsheet to read annotation instructions from. Removal of deprecated commands (on the command line) in version 11: text-fabric (has become tf ) text-fabric-zip (has become tf-zip ) text-fabric-make (has become tf-make ) Bug fixes: [ 81](https: github.com/annotation/text-fabric/issues/81) and [ 82](https: github.com/annotation/text-fabric/issues/82) Spell-checked all bits of the TF docs here (33,000 lines). Wrote a script tf.tools.docsright to separate the code content from the markdown content, and to strip bits from the markdown content that lead to false positives for the spell checker. Then had the Vim spell checker run over those lines and corrected all mistakes by hand. Still, there might be grammar errors and content inaccuracies. 12.1.4 follows 12.1.3. quickly, because in corpora without a NER configuration file, TF did not start up properly. 12.1.1,2 2023-10-29 Bug fix: the mechanism to make individual exceptions when adding named entities in the tf.browser.ner.annotate tool was broken. Thanks to Daniel Swanson for spotting it. Additional fixes and enhancements. 12.1.0 2023-10-28 New stuff In the TF browser there will be a new tab in the vertical sidebar: Annotate , which will give access to manual annotation tools. I am developing the first one, a tool to annotate named entities efficiently, both in the TF browser and in a Jupyter Notebook. Reed more in tf.about.annotate . These tools will let you save your work as files on your own computer. In tf.convert.addnlp we can now extract more NLP information besides tokens and sentences: part-of-speech, morphological tagging, lemmatisation, named entity recognition Fixes in the TEI converter. 12.0 12.0.6,7 2023-09-13 Trivial fix in code that exports the data from a job in the TF browser. In the meanwhile there is unfinished business in the Annotate tab in the TF browser, that will come into production in the upcoming 12.1 release. The Chrome browser has an attractive feature that other browsers such as Safari lack: It supports the CSS property [content-visibility](https: developer.mozilla.org/en-US/docs/Web/CSS/content-visibility). With this property you can prevent the browser to do the expensive rendering of content that is not visible on the screen. That makes it possible to load a lot of content in a single page without tripping up the browser. You also need the [ IntersectionObserver API](https: developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API), but that is generally supported by browsers. With the help of that API you can restrict the binding of event listeners to elements that are visible on the screen. So, you can open the TF browser in Chrome by passing the option chrome . But if Chrome is not installed, it will open in the default browser anyway. Also, when the opening of the browser fails somehow, the web server is stopped. 12.0.5 2023-07-10 Fixed references to static files that still went to /server instead of /browser . This has to do with the new approach to the TF browser. 12.0.0-4 2023-07-05 Simplification The TF browser no longer works with a separate process that holds the TF corpus data. Instead, the web server (flask) loads the corpus itself. This will restrict the usage of the TF browser to local-single-user scenarios. TF no longer exposes the installation options [browser, pandas] pip install 'text-fabric[browser]' pip install 'text-fabric[pandas]' If you work with Pandas (like exporting to Pandas) you have to install it yourself: pip install pandas pyarrow The TF browser is always supported. The reason to have these distinct capabilities was that there are python libraries involved that do not install on the iPad. The simplification of the TF browser makes it possible to be no longer dependent on these modules. Hence, TF can be installed on the iPad, although the TF browser works is not working there yet. But the auto-downloading of data from GitHub / GitLab works. Minor things Header. After loading a dataset, a header is shown with shows all kinds of information about the corpus. But so far, it did not show the TF app settings. Now they are included in the header. There are two kinds: the explicitly given settings and the derived and computed settings. The latter ones will be suppressed when loading a dataset in a Jupyter notebook, because these settings can become quite big. You can still get them with A.showContext() . In the TF browser they will be always included, you find it in the Corpus tab. - Older releases See tf.about.releasesold ."
+"doc":" Release notes ! hint \"Consult the tutorials after changes\" When we change the API, we make sure that the tutorials show off all possibilities. See the app-specific tutorials via tf.about.corpora . - The TEI converter is still in active development. If you need the latest version, clone the TF repo and in its top-level directory run the command: sh pip install -e . 12 12.4 12.4.3,4 2024-05-08 Fix in TF browser, spotted by Jorik Groen. When exporting query results, the values features used in the query were not written to the table at all. The expected behaviour was that features used in the query lead to extra columns in the exported table. It has been fixed. The cause was an earlier fix in the display of features in query results. This new fix only affects the export function from the browser, not the tf.advanced.display.export function, which did not have this bug. The pipeline from TEI or PageXML via TF to WATM is a complex thing to steer. There is now a new class tf.convert.makewatm that takes care of this: it provides a command line interface to perform the necessary convert steps. Moreover, you can use it as a base class and extend it with additional convert steps and options, with minimal code. 12.4.2 2024-04-24 Tiny fixes in the TEI and WATM conversions. 12.4.1 2024-04-24 Improvements in the TEI and WATM conversions. 12.4.0 2024-04-21 Support for [Marimo notebooks](https: docs.marimo.io/index.html). TF detects when its run in a notebook, and also in what kind of notebook: ipython (~ Jupyter) or marimo . When it needs to display material in the output of a cell, it will choose the methods that are suitable for the kind of notebook it is working in. 12.3 12.3.7 2024-04-19 Improvements in tf.convert.watm : the resulting data is much more compact, because: you can choose to export it as TSV instead of JSON; no annotations of type node are produced anymore, they only served to map annotations and text segments to TF nodes; now that mapping is exported as a simple TSV file; you can opt to exclude an arbitrary set of tags from being exported as WATM annotations. 12.3.6 2024-04-16 Minimal fixes in tf.convert.tei : it can handle a biography. Fixed prettyTuple() when passed _asString=True : it did not pass this on to pretty() which caused a Python error. 12.3.5 2024-03-26 extra functionality: When adding types with tf.dataset.modify you can link nodes of a newly added type to nodes that were added as the preiviously added type. This is a bit of a limited and ad hoc extension of the functionality of this function. I needed a quick fix to add nodes for entities and entity occurrences at the same time and link them with edges. This is for the corpus [ CLARIAH/wp6-missieven ](https: github.com/CLARIAH/wp6-missieven). fix: the express download of a dataset (complete.zip) was nit triggered in all cases where it should. 12.3.4 2024-02-26 The output of tf.convert.watm has been changed. It now generates token files per section, where you can configure the TF section level for that. The syntax for targets has been changed: more things are possible. Tests have been adapted and strengthened. 12.3.3 2024-02-20 Fix in tf.advanced.repo.publishRelease : it did not work if you are on a branch named main because master was hard-coded in the source code. Now it takes the branch name from the app context. Do not forget to specify branch: main under the provenanceSpecs in your /app/config.yaml . Many thanks to Tony Jorg for reporting this error. 12.3.1,2 2024-02-15 Minor improvements to the WATM converter, and an update of its docs. 12.3.0 2024-02-08 A new data export conversion, from TF to WATM. See tf.convert.watm . WATM is a not yet hardened data format that powers the publishing line for text and annotations built by Team Text at [KNAW/HuC Digital Infrastructure](https: di.huc.knaw.nl/text-analysis-en.html). Currently this export is used for the corpora [Mondriaan Proeftuin](https: github.com/annotation/mondriaan) [Suriano Letters](https: gitlab.huc.knaw.nl/suriano/letters) [TransLatin Corpus](https: gitlab.huc.knaw.nl/translatin/corpus) Small fixes in tf.convert.addnlp : when the NLP data is integrated in the TF dataset, the NLP-generated features will get some metadata 12.2 12.2.8,9,10 2024-01-24/25 TF can auto-download extra data with a TF dataset, e.g. a directory with named entities ( ner ) as in the [suriano corpus](https: gitlab.huc.knaw.nl/suriano/letters). However, this only worked when the repo was in the github backend and the extra data had been packed for express-download and attached to a release. Now it also works with the normal download methods using the GitHub and GitLab APIs. So, after the move of Suriano from GitHub to GitLab, this functionality is still available. There was a glitch in the layout of the NER tool which caused section labels to be chopped off at the margin, only in notebooks. Thats has been fixed by moving some CSS code from one file to an other. 12.2.7 2024-01-23 There were issues with starting up the Text-Fabric browser: If the system could not start the browser, the TF stopped the webserver. That is not helpful, because one can always open a browser and enter the url in the address bar. Now TF shows the url rather prominently when it does not open a browser. If debug mode is on, Flask reloads the whole process, and that might include opening the browser as well. Now Flask only opens the browser after the startup of the webserver, and not anymore after successive reloads. 12.2.6 2024-01-15 Somehow the express way of downloading data (via complete.zip attached to the latest release) did not get triggered in all cases where it should. It is now triggered in more cases than before. 12.2.5 2023-12-18 Small fix in NER browser: prevent submitting the form if the focus is in a textarea field or in an input field that does not have type=submit. 12.2.3,4 2023-12-09 Writing support for Ugaritic, thanks to Martijn Naaijer and Christian H\u00f8jgaard for converting a Ugaritic corpus to TF. Fix in display functions (continued): The logic of feature display, fixed in the previous version, was not effective when things are displayed in the TF browser. Because in the TF browser the features of the last query were passed as extraFeatures instead of tupleFeatures . This has been fixed by using tupleFeatures in the TF browser as well. 12.2.2 2023-12-02 Fix in display functions, thanks to Tony Jurg: if you do A.pretty(x, queryFeatures=False, extraFeatures=\"yy zz\") the extra features were not shown. So there was no obvious way to control exactly the features that you want to show in a display. That has been fixed. Further clarification: the node features that are used by a query are stored in the display option tupleFeatures . That is what causes them to be displayed in subsequent display statements. You can also explicitly set/pass the tupleFeatures parameter. However, the fact that queryFeatures=False prohibited the display of features mentioned in extraFeatures was against the intuitions. Improvements in the PageXML conversion. There are token features str , after that reflect the logical tokens There are token features rstr , rafter that reflect the physical tokens The distincition between logical and physical is that physical token triplets with the soft hyphen as the middle one, are joined to one logical token; this happens across line boundaries, but also region and page boundaries. 12.2.0,1 2023-11-28 New conversion tool: from PageXML. Still in its infancy. It uses the [PageXML tools](https: github.com/knaw-huc/pagexml) by Marijn Koolen. For an example see [translatin/logic](https: gitlab.huc.knaw.nl/translatin/logic/-/blob/main/tools/convertPlain.ipynb?ref_type=heads). Fix: TF did not fetch an earlier version of a corpus if the newest release contains a complete.zip (which only has the latest version). For some technical reason that still escapes me, the TF browser was slow to start. Fixed it by saying threaded=True to Flask, as suggested on [stackoverflow](https: stackoverflow.com/a/11150849/15236220) From now on: TF does not try to download complete.zip if you pass a version argument to the use() command. 12.1 12.1.6,7 2023-11-15 Various fixes: Some package data was not included for the NER annotation tool. In the NER tool, the highlighting of hits of the search pattern is now exact, it was sometimes off. Deleted tf.tools.docsright again, but developed it further in [docsright](https: github.com/annotation/docsright). 12.1.5 2023-11-02 Improvement in dependencies. Text-Fabric is no longer mandatory dependent on openpyxl , pandas , pyarrow , lxml . The optional dependencies on pygithub and python-gitlab remain, but most users will never need them, because TF can also fetch the complete.zip that is available as release asset for most corpora. Whenever TF invokes a module that is not in the mandatory dependencies, it will act gracefully, providing hints to install the modules in question. 12.1.3,4 2023-11-01 API change in the Annotator: Calling the annotator is now easier: A.makeNer() (No need to make an additional import statement.) This will give you access to all annotation methods, including using a spreadsheet to read annotation instructions from. Removal of deprecated commands (on the command line) in version 11: text-fabric (has become tf ) text-fabric-zip (has become tf-zip ) text-fabric-make (has become tf-make ) Bug fixes: [ 81](https: github.com/annotation/text-fabric/issues/81) and [ 82](https: github.com/annotation/text-fabric/issues/82) Spell-checked all bits of the TF docs here (33,000 lines). Wrote a script tf.tools.docsright to separate the code content from the markdown content, and to strip bits from the markdown content that lead to false positives for the spell checker. Then had the Vim spell checker run over those lines and corrected all mistakes by hand. Still, there might be grammar errors and content inaccuracies. 12.1.4 follows 12.1.3. quickly, because in corpora without a NER configuration file, TF did not start up properly. 12.1.1,2 2023-10-29 Bug fix: the mechanism to make individual exceptions when adding named entities in the tf.browser.ner.annotate tool was broken. Thanks to Daniel Swanson for spotting it. Additional fixes and enhancements. 12.1.0 2023-10-28 New stuff In the TF browser there will be a new tab in the vertical sidebar: Annotate , which will give access to manual annotation tools. I am developing the first one, a tool to annotate named entities efficiently, both in the TF browser and in a Jupyter Notebook. Reed more in tf.about.annotate . These tools will let you save your work as files on your own computer. In tf.convert.addnlp we can now extract more NLP information besides tokens and sentences: part-of-speech, morphological tagging, lemmatisation, named entity recognition Fixes in the TEI converter. 12.0 12.0.6,7 2023-09-13 Trivial fix in code that exports the data from a job in the TF browser. In the meanwhile there is unfinished business in the Annotate tab in the TF browser, that will come into production in the upcoming 12.1 release. The Chrome browser has an attractive feature that other browsers such as Safari lack: It supports the CSS property [content-visibility](https: developer.mozilla.org/en-US/docs/Web/CSS/content-visibility). With this property you can prevent the browser to do the expensive rendering of content that is not visible on the screen. That makes it possible to load a lot of content in a single page without tripping up the browser. You also need the [ IntersectionObserver API](https: developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API), but that is generally supported by browsers. With the help of that API you can restrict the binding of event listeners to elements that are visible on the screen. So, you can open the TF browser in Chrome by passing the option chrome . But if Chrome is not installed, it will open in the default browser anyway. Also, when the opening of the browser fails somehow, the web server is stopped. 12.0.5 2023-07-10 Fixed references to static files that still went to /server instead of /browser . This has to do with the new approach to the TF browser. 12.0.0-4 2023-07-05 Simplification The TF browser no longer works with a separate process that holds the TF corpus data. Instead, the web server (flask) loads the corpus itself. This will restrict the usage of the TF browser to local-single-user scenarios. TF no longer exposes the installation options [browser, pandas] pip install 'text-fabric[browser]' pip install 'text-fabric[pandas]' If you work with Pandas (like exporting to Pandas) you have to install it yourself: pip install pandas pyarrow The TF browser is always supported. The reason to have these distinct capabilities was that there are python libraries involved that do not install on the iPad. The simplification of the TF browser makes it possible to be no longer dependent on these modules. Hence, TF can be installed on the iPad, although the TF browser works is not working there yet. But the auto-downloading of data from GitHub / GitLab works. Minor things Header. After loading a dataset, a header is shown with shows all kinds of information about the corpus. But so far, it did not show the TF app settings. Now they are included in the header. There are two kinds: the explicitly given settings and the derived and computed settings. The latter ones will be suppressed when loading a dataset in a Jupyter notebook, because these settings can become quite big. You can still get them with A.showContext() . In the TF browser they will be always included, you find it in the Corpus tab. - Older releases See tf.about.releasesold ."
},
{
"ref":"tf.about.clientmanual",
@@ -7144,43 +7144,49 @@ INDEX=[
"doc":"Base class for running conversions to WATM. This class has methods to convert corpora from TEI or PageXML to TF and then to WATM. But if the corpus needs additional preparation, you can make a sub class based on this with additional tasks defined an implemented. Any class M in m.py based on this class can be called from the command line as follows: python m.py flags tasks If you base a superclass on this, you can register the additional tasks as follows: For each extra task xxx, write an method doTask_xxx(self) Then provide for each task a simple doc line and register them all by: self.setOptions( taskSpecs=( (task1, docLine1), (task2, docLine2), . ), flagSpecs=( (flag1, docLine1), (flag2, docLine2), . ), ) Localize upon creation. When an object of this class is initialized, we assume that the script doing it is localized in the programs directory in a corpus repo. Parameters fileLoc: string The full path of the file that creates an instance of this class."
},
{
-"ref":"tf.convert.makewatm.MakeWATM.doTask_tei2tf",
+"ref":"tf.convert.makewatm.MakeWATM.setOptions",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.doTask_page2tf",
+"ref":"tf.convert.makewatm.MakeWATM.main",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.doTask_watm",
+"ref":"tf.convert.makewatm.MakeWATM.prepareRun",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.doTask_watms",
+"ref":"tf.convert.makewatm.MakeWATM.run",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.run",
+"ref":"tf.convert.makewatm.MakeWATM.doTask_tei2tf",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.setOptions",
+"ref":"tf.convert.makewatm.MakeWATM.doTask_page2tf",
"url":137,
"doc":"",
"func":1
},
{
-"ref":"tf.convert.makewatm.MakeWATM.main",
+"ref":"tf.convert.makewatm.MakeWATM.doTask_watm",
+"url":137,
+"doc":"",
+"func":1
+},
+{
+"ref":"tf.convert.makewatm.MakeWATM.doTask_watms",
"url":137,
"doc":"",
"func":1
diff --git a/tf/about/annotate.html b/tf/about/annotate.html
index cb6909c03..2c2c0c732 100644
--- a/tf/about/annotate.html
+++ b/tf/about/annotate.html
@@ -298,7 +298,7 @@ Recommended practice
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/annotate.md
diff --git a/tf/about/annotateBrowser.html b/tf/about/annotateBrowser.html
index a631fb5cd..ec2b6ed24 100644
--- a/tf/about/annotateBrowser.html
+++ b/tf/about/annotateBrowser.html
@@ -267,7 +267,7 @@ Programming
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/annotateBrowser.md
diff --git a/tf/about/apps.html b/tf/about/apps.html
index be6ea86da..666d3b281 100644
--- a/tf/about/apps.html
+++ b/tf/about/apps.html
@@ -115,7 +115,7 @@ Two contexts
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/apps.md
diff --git a/tf/about/background.html b/tf/about/background.html
index e823387b2..0f6a56a7c 100644
--- a/tf/about/background.html
+++ b/tf/about/background.html
@@ -155,7 +155,7 @@ History
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/background.md
diff --git a/tf/about/browser.html b/tf/about/browser.html
index 4fefa69f6..c6ed25a09 100644
--- a/tf/about/browser.html
+++ b/tf/about/browser.html
@@ -174,7 +174,7 @@ UNICODE in Excel CSVs
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/browser.md
diff --git a/tf/about/clientmanual.html b/tf/about/clientmanual.html
index 8534cb313..b4f274f7e 100644
--- a/tf/about/clientmanual.html
+++ b/tf/about/clientmanual.html
@@ -565,7 +565,7 @@ Credits
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/clientmanual.md
diff --git a/tf/about/code.html b/tf/about/code.html
index a094df1f9..f48acb2fa 100644
--- a/tf/about/code.html
+++ b/tf/about/code.html
@@ -98,7 +98,7 @@ Writing
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/code.md
diff --git a/tf/about/corpora.html b/tf/about/corpora.html
index 04a051d1c..47ea3ea07 100644
--- a/tf/about/corpora.html
+++ b/tf/about/corpora.html
@@ -351,7 +351,7 @@
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/corpora.md
diff --git a/tf/about/datamodel.html b/tf/about/datamodel.html
index 11804c8dd..ba76fca14 100644
--- a/tf/about/datamodel.html
+++ b/tf/about/datamodel.html
@@ -265,7 +265,7 @@ Serializing and pre-computing
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/datamodel.md
diff --git a/tf/about/datasharing.html b/tf/about/datasharing.html
index 193888099..b9d3e9184 100644
--- a/tf/about/datasharing.html
+++ b/tf/about/datasharing.html
@@ -362,7 +362,7 @@ More modules at the same time
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/datasharing.md
diff --git a/tf/about/displaydesign.html b/tf/about/displaydesign.html
index 5872bb433..921043658 100644
--- a/tf/about/displaydesign.html
+++ b/tf/about/displaydesign.html
@@ -151,7 +151,7 @@ Output
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/displaydesign.md
diff --git a/tf/about/faq.html b/tf/about/faq.html
index 4e7dc4f6c..b3aab93f1 100644
--- a/tf/about/faq.html
+++ b/tf/about/faq.html
@@ -161,7 +161,7 @@ GitHub Rate Limit Exceeded!
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/faq.md
diff --git a/tf/about/fileformats.html b/tf/about/fileformats.html
index ebe17b2ad..685108746 100644
--- a/tf/about/fileformats.html
+++ b/tf/about/fileformats.html
@@ -158,7 +158,7 @@ Single values
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/fileformats.md
diff --git a/tf/about/index.html b/tf/about/index.html
index d40bfd9b0..b869a3bed 100644
--- a/tf/about/index.html
+++ b/tf/about/index.html
@@ -33,7 +33,7 @@ Documents
Expand source code
-Browse git
+Browse git
"""
# Documents
diff --git a/tf/about/install.html b/tf/about/install.html
index 4d7befe77..907834d51 100644
--- a/tf/about/install.html
+++ b/tf/about/install.html
@@ -108,7 +108,7 @@ Note for Linux users
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/install.md
diff --git a/tf/about/manual.html b/tf/about/manual.html
index 17845041e..a95881893 100644
--- a/tf/about/manual.html
+++ b/tf/about/manual.html
@@ -390,7 +390,7 @@ Keyboard shortcuts
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/manual.md
diff --git a/tf/about/optimizations.html b/tf/about/optimizations.html
index 51f7778f4..9c18d7eb2 100644
--- a/tf/about/optimizations.html
+++ b/tf/about/optimizations.html
@@ -187,7 +187,7 @@ Edge features
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/optimizations.md
diff --git a/tf/about/releases.html b/tf/about/releases.html
index 43189c8f0..6ca605d84 100644
--- a/tf/about/releases.html
+++ b/tf/about/releases.html
@@ -43,8 +43,10 @@ Release notes
12
12.4
-12.4.3
+12.4.3,4
2024-05-08
+
+-
Fix in TF browser, spotted by Jorik Groen.
When exporting query results, the values features used in the query were not written
to the table at all.
@@ -53,7 +55,16 @@
12.4.3
It has been fixed. The cause was an earlier fix in the display of features in query
results.
This new fix only affects the export function from the browser, not the
-advanced.display.export
function, which did not have this bug.
+export()
function, which did not have this bug.
+
+
+The pipeline from TEI or PageXML via TF to WATM is a complex thing to steer.
+There is now a new class tf.convert.makewatm
that takes care of this: it provides
+a command line interface to perform the necessary convert steps.
+Moreover, you can use it as a base class and extend it with additional
+convert steps and options, with minimal code.
+
+
12.4.2
2024-04-24
Tiny fixes in the TEI and WATM conversions.
@@ -385,7 +396,7 @@ Older releases
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/releases.md
@@ -459,7 +470,7 @@ Index
Release notes
- 12
- 12.4
-- 12.4.3
+- 12.4.3,4
- 12.4.2
- 12.4.1
- 12.4.0
diff --git a/tf/about/releasesold.html b/tf/about/releasesold.html
index 96881a321..c21b4554d 100644
--- a/tf/about/releasesold.html
+++ b/tf/about/releasesold.html
@@ -3430,7 +3430,7 @@ Changed
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/releasesold.md
diff --git a/tf/about/searchdesign.html b/tf/about/searchdesign.html
index 9bd9fa7e8..9a962be12 100644
--- a/tf/about/searchdesign.html
+++ b/tf/about/searchdesign.html
@@ -477,7 +477,7 @@ Small-first strategy
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/searchdesign.md
diff --git a/tf/about/searchusage.html b/tf/about/searchusage.html
index f94275379..bb5664f86 100644
--- a/tf/about/searchusage.html
+++ b/tf/about/searchusage.html
@@ -776,7 +776,7 @@ Implementation
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/searchusage.md
diff --git a/tf/about/tests.html b/tf/about/tests.html
index 3b394fd70..e04b4c729 100644
--- a/tf/about/tests.html
+++ b/tf/about/tests.html
@@ -71,7 +71,7 @@ Relations
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/tests.md
diff --git a/tf/about/use.html b/tf/about/use.html
index fe1eb1c0a..cf5bdbc61 100644
--- a/tf/about/use.html
+++ b/tf/about/use.html
@@ -90,7 +90,7 @@ TF API
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/use.md
diff --git a/tf/about/usefunc.html b/tf/about/usefunc.html
index ca472ff29..25509c865 100644
--- a/tf/about/usefunc.html
+++ b/tf/about/usefunc.html
@@ -419,7 +419,7 @@ Prevent data loading
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/usefunc.md
diff --git a/tf/about/variants.html b/tf/about/variants.html
index 1c8f2e5e5..3f2e24c2a 100644
--- a/tf/about/variants.html
+++ b/tf/about/variants.html
@@ -438,7 +438,7 @@ The stack
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/variants.md
diff --git a/tf/about/volumes.html b/tf/about/volumes.html
index e0d4c587b..0e054bfb2 100644
--- a/tf/about/volumes.html
+++ b/tf/about/volumes.html
@@ -323,7 +323,7 @@ Reflection
Expand source code
-Browse git
+Browse git
"""
.. include:: ../docs/about/volumes.md
diff --git a/tf/advanced/annotate.html b/tf/advanced/annotate.html
index 6da258030..0c971ab39 100644
--- a/tf/advanced/annotate.html
+++ b/tf/advanced/annotate.html
@@ -34,7 +34,7 @@ Module tf.advanced.annotate
Expand source code
-Browse git
+Browse git
"""
Enable manual annotation APIs.
@@ -84,7 +84,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def annotateApi(app):
"""Produce the interchange functions API.
@@ -106,7 +106,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def makeNer(app):
return NER(app)
diff --git a/tf/advanced/app.html b/tf/advanced/app.html
index a93df83cf..cee9fdf82 100644
--- a/tf/advanced/app.html
+++ b/tf/advanced/app.html
@@ -31,7 +31,7 @@ Module tf.advanced.app
Expand source code
-Browse git
+Browse git
import types
import traceback
@@ -834,7 +834,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def findApp(
appName,
@@ -1129,7 +1129,7 @@ Returns
Expand source code
-Browse git
+Browse git
def loadApp(silent=DEEP):
"""Loads a given TF app or loads the TF app based on the working directory.
@@ -1197,7 +1197,7 @@ See Also
Expand source code
-Browse git
+Browse git
def useApp(appName, backend):
"""Make use of a corpus.
@@ -1299,7 +1299,7 @@ Parameters
Expand source code
-Browse git
+Browse git
class App:
def __init__(
@@ -1665,7 +1665,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hoist(self, hoist, silent=None):
"""Hoist the API handles of this TF app to the global scope.
@@ -1733,7 +1733,7 @@ Returns
Expand source code
-Browse git
+Browse git
def load(self, features, silent=SILENT_D):
"""Loads extra features in addition to the main dataset.
@@ -1771,7 +1771,7 @@ Returns
Expand source code
-Browse git
+Browse git
def reinit(self):
"""TF Apps may override this method.
@@ -1806,7 +1806,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def reuse(self, hoist=False):
"""Re-initialize the app.
diff --git a/tf/advanced/condense.html b/tf/advanced/condense.html
index c6ec9f2bd..25d354c5f 100644
--- a/tf/advanced/condense.html
+++ b/tf/advanced/condense.html
@@ -31,7 +31,7 @@ Module tf.advanced.condense
Expand source code
-Browse git
+Browse git
def condense(api, tuples, condenseType, multiple=False):
F = api.F
@@ -135,7 +135,7 @@
Expand source code
-Browse git
+Browse git
def condense(api, tuples, condenseType, multiple=False):
F = api.F
@@ -192,7 +192,7 @@
Expand source code
-Browse git
+Browse git
def condenseSet(api, tup, condenseType):
F = api.F
diff --git a/tf/advanced/data.html b/tf/advanced/data.html
index 88dccad02..23b98b757 100644
--- a/tf/advanced/data.html
+++ b/tf/advanced/data.html
@@ -31,7 +31,7 @@ Module tf.advanced.data
Expand source code
-Browse git
+Browse git
from ..core.helpers import itemize
from ..core.files import backendRep, expandDir, prefixSlash, normpath
@@ -496,7 +496,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getModulesData(*args):
"""Retrieve all data for a corpus.
@@ -556,7 +556,7 @@ Parameters
Expand source code
-Browse git
+Browse git
class AppData:
def __init__(
@@ -989,7 +989,7 @@ See Also
Expand source code
-Browse git
+Browse git
def getExtra(self):
"""Get the extra data specified by the settings of the corpus.
@@ -1051,7 +1051,7 @@ See Also
Expand source code
-Browse git
+Browse git
def getMain(self):
"""Get the main data of the corpus.
@@ -1126,7 +1126,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getModule(
self,
@@ -1271,7 +1271,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getModules(self):
"""Get data from additional local directories.
@@ -1342,7 +1342,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getRefs(self):
"""Get data from additional modules.
@@ -1397,7 +1397,7 @@ See Also
Expand source code
-Browse git
+Browse git
def getStandard(self):
"""Get the data of the standard modules specified by the settings of the corpus.
diff --git a/tf/advanced/display.html b/tf/advanced/display.html
index 81013f558..1633bc22f 100644
--- a/tf/advanced/display.html
+++ b/tf/advanced/display.html
@@ -69,7 +69,7 @@ See also
Expand source code
-Browse git
+Browse git
"""
# Display
@@ -1126,7 +1126,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def displayApi(app, silent=SILENT_D):
"""Produce the display API.
@@ -1193,7 +1193,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def displayReset(app, *options):
"""Restore display parameters to their defaults.
@@ -1251,7 +1251,7 @@ See Also
Expand source code
-Browse git
+Browse git
def displaySetup(app, *show, **options):
"""Set up all display parameters.
@@ -1309,7 +1309,7 @@ See Also
Expand source code
-Browse git
+Browse git
def displayShow(app, *options):
"""Show display parameters.
@@ -1444,7 +1444,7 @@ Results
Expand source code
-Browse git
+Browse git
def export(app, tuples, toDir=None, toFile="results.tsv", **options):
"""Exports an iterable of tuples of nodes to an Excel friendly TSV file.
@@ -1589,7 +1589,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getCss(app):
"""Export the CSS for this app.
@@ -1639,7 +1639,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getToolCss(app, tool):
"""Export the CSS for a tool of this app.
@@ -1689,7 +1689,7 @@ Returns
Expand source code
-Browse git
+Browse git
def loadCss(app):
"""Load the CSS for this app.
@@ -1768,7 +1768,7 @@ Returns
Expand source code
-Browse git
+Browse git
def loadToolCss(app, tool, extraCss):
"""Load the Tool CSS for this app.
@@ -1840,7 +1840,7 @@ Result
Expand source code
-Browse git
+Browse git
def plain(app, n, _inTuple=False, _asString=False, explain=False, **options):
"""Display the plain text of a node.
@@ -1926,7 +1926,7 @@ Result
Expand source code
-Browse git
+Browse git
def plainTuple(
app,
@@ -2169,7 +2169,7 @@ Result
Expand source code
-Browse git
+Browse git
def pretty(app, n, explain=False, _asString=False, **options):
"""Displays the material that corresponds to a node in a graphical way.
@@ -2248,7 +2248,7 @@ Result
Expand source code
-Browse git
+Browse git
def prettyTuple(app, tup, seq=None, _asString=False, item=RESULT, **options):
"""Displays the material that corresponds to a tuple of nodes in a graphical way.
@@ -2361,7 +2361,7 @@ Result
Expand source code
-Browse git
+Browse git
def show(app, tuples, _asString=False, **options):
"""Displays an iterable of tuples of nodes.
@@ -2464,7 +2464,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def table(app, tuples, _asString=False, **options):
"""Plain displays of an iterable of tuples of nodes in a table.
diff --git a/tf/advanced/find.html b/tf/advanced/find.html
index a40e80687..1d579bfff 100644
--- a/tf/advanced/find.html
+++ b/tf/advanced/find.html
@@ -31,7 +31,7 @@ Module tf.advanced.find
Expand source code
-Browse git
+Browse git
import sys
from importlib import util
@@ -270,7 +270,7 @@ Returns
Expand source code
-Browse git
+Browse git
def findAppClass(appName, appPath):
"""Find the class definition of an app.
@@ -325,7 +325,7 @@ See Also
Expand source code
-Browse git
+Browse git
def findAppConfig(
appName,
@@ -474,7 +474,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def loadModule(moduleName, *args):
"""Load a module dynamically, by name.
diff --git a/tf/advanced/helpers.html b/tf/advanced/helpers.html
index c173bf950..9ec3aecb6 100644
--- a/tf/advanced/helpers.html
+++ b/tf/advanced/helpers.html
@@ -31,7 +31,7 @@ Module tf.advanced.helpers
Expand source code
-Browse git
+Browse git
import collections
from textwrap import dedent
@@ -864,7 +864,7 @@
Expand source code
-Browse git
+Browse git
def backendRepl(match):
thisBackend.append(match.group(1))
@@ -894,7 +894,7 @@ Returns
Expand source code
-Browse git
+Browse git
def dh(html, inNb="ipython", unexpand=False):
"""Display HTML.
@@ -952,7 +952,7 @@ Returns
Expand source code
-Browse git
+Browse git
def dm(md, inNb="ipython", unexpand=False):
"""Display markdown.
@@ -995,7 +995,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getHeaderTypes(app, tuples):
api = app.api
@@ -1034,7 +1034,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getHeaders(app, tuples):
headerTypes = getHeaderTypes(app, tuples)
@@ -1058,7 +1058,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getLocalDir(backend, cfg, local, version):
provenanceSpec = cfg.get("provenanceSpec", {})
@@ -1098,7 +1098,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getResultsX(app, results, features, condenseType, fmt=None):
"""Transform a uniform iterable of nodes into a table with extra information.
@@ -1194,7 +1194,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getRowsX(app, tuples, features, condenseType, fmt=None):
"""Transform an iterable of nodes into a table with extra information.
@@ -1218,7 +1218,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getText(
app, isPretty, n, nType, outer, first, last, level, passage, descend, options=None
@@ -1311,7 +1311,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getTuplesX(app, results, condenseType, fmt=None):
"""Transform a non-uniform iterable of nodes into a table with extra information.
@@ -1379,7 +1379,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def getValue(app, n, nType, feat, suppress, math=False):
F = app.api.F
@@ -1408,7 +1408,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hData(x):
if not x:
@@ -1439,7 +1439,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hDict(x, outer=False):
elem = f"{'o' if outer else 'u'}l"
@@ -1469,7 +1469,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hEmpty(x):
return (
@@ -1491,7 +1491,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hList(x, outer=False):
elem = f"{'o' if outer else 'u'}l"
@@ -1519,7 +1519,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hScalar(x):
if type(x) is str:
@@ -1539,7 +1539,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hScalar0(x):
tpv = type(x)
@@ -1584,7 +1584,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def hasData(backend, local, org, repo, version, relative):
versionRep = f"/{version}" if version else ""
@@ -1609,7 +1609,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def htmlSafe(text, isHtml, math=False):
return text.replace("\n", "<br>") if isHtml else htmlEsc(text, math=math)
@@ -1627,7 +1627,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def isUniform(app, tuples):
"""Whether the members of tuples are uniform.
@@ -1669,7 +1669,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def parseFeatures(features):
if (
@@ -1698,7 +1698,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def parseFeaturesLogical(feats):
bare = []
@@ -1725,7 +1725,7 @@ Parameters
Expand source code
-Browse git
+Browse git
def runsInNotebook():
"""Determines whether the program runs in an interactive shell.
@@ -1771,7 +1771,7 @@ Returns
Expand source code
-Browse git
+Browse git
def showDict(title, data, _browse, inNb, *keys):
"""Shows selected keys of a dictionary in a pretty way.
@@ -1812,7 +1812,7 @@ Returns
Expand source code
-Browse git
+Browse git
def splitModRef(moduleRef):
thisBackend.clear()
@@ -1890,7 +1890,7 @@ See Also
Expand source code
-Browse git
+Browse git
def transitiveClosure(relation, reflexiveExceptions):
"""Produce the reflexive transitive closure of a relation.
@@ -1958,7 +1958,7 @@ See Also
Expand source code
-Browse git
+Browse git
def tupleEnum(tuples, start, end, limit, item, inNb):
if start is None:
diff --git a/tf/advanced/highlight.html b/tf/advanced/highlight.html
index 2be51b21a..ab7fd0af0 100644
--- a/tf/advanced/highlight.html
+++ b/tf/advanced/highlight.html
@@ -31,7 +31,7 @@ Module tf.advanced.highlight
Expand source code
-Browse git
+Browse git
from .search import runSearch
@@ -290,7 +290,7 @@ Returns
Expand source code
-Browse git
+Browse git
def getEdgeHlAtt(e, pair, highlights):
"""Get the edge highlight attribute and style for an edge, only for pretty mode.
@@ -370,7 +370,7 @@ Returns