From 7065cac70b5ab128314aa9c7e2ec84b5a5b3b660 Mon Sep 17 00:00:00 2001 From: Ankita Katiyar <110245118+ankatiyar@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:58:01 +0100 Subject: [PATCH 1/9] Setup Vale linter as a GHA workflow (#2953) * Add vale GHA Signed-off-by: Ankita Katiyar * Update condition Signed-off-by: Ankita Katiyar * Update .github/styles/Kedro/ignore.txt Co-authored-by: Jo Stichbury * add some styles Signed-off-by: Jo Stichbury * Remove styles for now Signed-off-by: Ankita Katiyar --------- Signed-off-by: Ankita Katiyar Signed-off-by: Jo Stichbury Co-authored-by: Jo Stichbury --- .github/styles/Kedro/Spellings.yml | 6 ++ .github/styles/Kedro/ignore-names.txt | 111 +++++++++++++++++++++ .github/styles/Kedro/ignore.txt | 31 ++++++ .github/workflows/docs-language-linter.yml | 16 +++ .github/workflows/docs-only-checks.yml | 2 +- .vale.ini | 7 ++ 6 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 .github/styles/Kedro/Spellings.yml create mode 100644 .github/styles/Kedro/ignore-names.txt create mode 100644 .github/styles/Kedro/ignore.txt create mode 100644 .github/workflows/docs-language-linter.yml create mode 100644 .vale.ini diff --git a/.github/styles/Kedro/Spellings.yml b/.github/styles/Kedro/Spellings.yml new file mode 100644 index 0000000000..00a486ff0d --- /dev/null +++ b/.github/styles/Kedro/Spellings.yml @@ -0,0 +1,6 @@ +extends: spelling +message: "Did you really mean '%s'?" +level: warning +ignore: + - Kedro/ignore.txt + - Kedro/ignore-names.txt diff --git a/.github/styles/Kedro/ignore-names.txt b/.github/styles/Kedro/ignore-names.txt new file mode 100644 index 0000000000..6ab1616c02 --- /dev/null +++ b/.github/styles/Kedro/ignore-names.txt @@ -0,0 +1,111 @@ +Ahdra +Aris +Alves +Alam +Andrew +Andrii +Anton +Antony +Ankita +Batori +Braccialli +Brummitt +Cano +Carvalho +Cvetanka +Czakon +Chan +Comym +Couto +Daiha +Dada +Danov +Datta +DeBold +Deepyaman +Deriabin +Diaz +Dmitrii +Dmitry +Emamjome +Erins +Gabriel +Gundaniya +Guilherme +Hamza +Hoang +Holzer +Huong +Helmhold +Ignacio +Ivaniuk +Ivan +Jakub +Jannic +Jankowski +Jitendra +Jiri +Jo +Joel +Juan +Kadiri +Kaiser +Kaltsas +Kanchwala +Katiyar +Khan +Kirilenko +Kiyohito +Klein +Kunii +Kumar +Lais +Laura +Liam +Lim +Lorena +Machado +Mackay +Malte +Malloy +Marcin +Meisam +Merali +Merel +Milne +Nasef +Nechevska +Nero +Nguyen +Nikolaos +Nikolic +Nok +Okwa +Oza +Paricio +Patel +Peteris +Pilla +Rashida +Ravi +Richard +Schwarzmann +Sorokin +Stichbury +Susanna +Sajid +Stephanie +Takieddine +Theisen +Tynan +Tsaousis +Valtazanos +Vladimir +Waylon +Westenra +Wong +Wrigley +Yolan +Yetunde +Zablocki +Zain diff --git a/.github/styles/Kedro/ignore.txt b/.github/styles/Kedro/ignore.txt new file mode 100644 index 0000000000..6ede60d83b --- /dev/null +++ b/.github/styles/Kedro/ignore.txt @@ -0,0 +1,31 @@ +Kedro +Kedro's +Kubeflow +Databricks +Conda +conda +Cookiecutter +config +fsspec +Kaggle +namespace +namespaces +namespaced +regressors +repo +Repo +dbx +MLflow +csv +yaml +matplotlib +Matplotlib +IPython +APIs +networkx +Plotly +Pylint +SQLAlchemy +Astro +Xebia +pytest diff --git a/.github/workflows/docs-language-linter.yml b/.github/workflows/docs-language-linter.yml new file mode 100644 index 0000000000..02b60b7324 --- /dev/null +++ b/.github/workflows/docs-language-linter.yml @@ -0,0 +1,16 @@ +name: Language Linter for Kedro Docs +on: + pull_request: + paths: + - "docs/**" + - '**.md' + +jobs: + vale: + name: runner / vale + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: errata-ai/vale-action@reviewdog + with: + reporter: github-pr-review diff --git a/.github/workflows/docs-only-checks.yml b/.github/workflows/docs-only-checks.yml index b7940e85be..d13a76c589 100644 --- a/.github/workflows/docs-only-checks.yml +++ b/.github/workflows/docs-only-checks.yml @@ -17,7 +17,7 @@ on: - '**.md' jobs: - lint-tests: + lint: strategy: matrix: os: [ ubuntu-latest ] diff --git a/.vale.ini b/.vale.ini new file mode 100644 index 0000000000..7d486713e7 --- /dev/null +++ b/.vale.ini @@ -0,0 +1,7 @@ +StylesPath = .github/styles + +MinAlertLevel = suggestion + +[*.md] +BasedOnStyles = Vale, Kedro +Vale.Spelling = NO From 5925b0356ec2a3c922e042154d63725af25db3fa Mon Sep 17 00:00:00 2001 From: Jo Stichbury Date: Wed, 23 Aug 2023 12:50:24 +0100 Subject: [PATCH 2/9] Fix README to show graphics on PyPI (#2961) * Fix for PyPI Signed-off-by: Jo Stichbury * Few more tweaks Signed-off-by: Jo Stichbury * Few more tweaks Signed-off-by: Jo Stichbury * Few more tweaks Signed-off-by: Jo Stichbury * Few more tweaks Signed-off-by: Jo Stichbury * Update README.md * Update README.md --------- Signed-off-by: Jo Stichbury --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f329a8331f..cd3f8683ad 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -![Kedro Logo Banner - Light](.github/demo-dark.png#gh-dark-mode-only) -![Kedro Logo Banner - Dark](.github/demo-light.png#gh-light-mode-only) +![Kedro Logo Banner - Light](https://raw.githubusercontent.com/kedro-org/kedro/main/.github/demo-dark.png#gh-dark-mode-only) +![Kedro Logo Banner - Dark](https://raw.githubusercontent.com/kedro-org/kedro/main/.github/demo-light.png#gh-light-mode-only) [![Python version](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue.svg)](https://pypi.org/project/kedro/) [![PyPI version](https://badge.fury.io/py/kedro.svg)](https://pypi.org/project/kedro/) [![Conda version](https://img.shields.io/conda/vn/conda-forge/kedro.svg)](https://anaconda.org/conda-forge/kedro) @@ -37,9 +37,6 @@ Our [Get Started guide](https://docs.kedro.org/en/stable/get_started/install.htm ## What are the main features of Kedro? -![Kedro-Viz Pipeline Visualisation](https://github.com/kedro-org/kedro-viz/blob/main/.github/img/banner.png) -_A pipeline visualisation generated using [Kedro-Viz](https://github.com/kedro-org/kedro-viz)_ - | Feature | What is this? | | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Project Template | A standard, modifiable and easy-to-use project template based on [Cookiecutter Data Science](https://github.com/drivendata/cookiecutter-data-science/). | @@ -54,7 +51,15 @@ The [Kedro documentation](https://docs.kedro.org/en/stable/) first explains [how You can then review the [spaceflights tutorial](https://docs.kedro.org/en/stable/tutorial/spaceflights_tutorial.html) to build a Kedro project for hands-on experience -For new and intermediate Kedro users, there's a comprehensive section on [how to visualise Kedro projects using Kedro-Viz](https://docs.kedro.org/en/stable/visualisation/index.html) and [how to work with Kedro and Jupyter notebooks](https://docs.kedro.org/en/stable/notebooks_and_ipython/index.html). We also recommend the [API reference documentation](/kedro) for additional information. +For new and intermediate Kedro users, there's a comprehensive section on [how to visualise Kedro projects using Kedro-Viz](https://docs.kedro.org/en/stable/visualisation/index.html). + + +

+ + A pipeline visualisation generated using Kedro-Viz +

+ +Additional documentation explains [how to work with Kedro and Jupyter notebooks](https://docs.kedro.org/en/stable/notebooks_and_ipython/index.html), and there are a set of advanced user guides for advanced for key Kedro features. We also recommend the [API reference documentation](/kedro) for further information. ## Why does Kedro exist? From 15bba0ee3bc1aa12fc88af31e917b5354a2a80c1 Mon Sep 17 00:00:00 2001 From: Jo Stichbury Date: Wed, 23 Aug 2023 17:10:27 +0100 Subject: [PATCH 3/9] Add some Vale styles (#2963) * add some styles Signed-off-by: Jo Stichbury * Tweaks to styles Signed-off-by: Jo Stichbury * more tweaks Signed-off-by: Jo Stichbury * Revise some styles Signed-off-by: Jo Stichbury * Revise severity of some styles Signed-off-by: Jo Stichbury * Update .github/styles/Kedro/words.yml Co-authored-by: Deepyaman Datta --------- Signed-off-by: Jo Stichbury Co-authored-by: Deepyaman Datta --- .github/styles/Kedro/abbreviations.yml | 11 ++ .github/styles/Kedro/gender.yml | 13 ++ .github/styles/Kedro/headings.yml | 56 ++++++ .github/styles/Kedro/inclusive.yml | 12 ++ .github/styles/Kedro/links.yml | 24 +++ .github/styles/Kedro/oxfordcomma.yml | 6 + .github/styles/Kedro/pronouns.yml | 11 ++ .github/styles/Kedro/quotes.yml | 10 ++ .github/styles/Kedro/sentencelength.yml | 11 ++ .github/styles/Kedro/toowordy.yml | 218 ++++++++++++++++++++++++ .github/styles/Kedro/ukspelling.yml | 25 +++ .github/styles/Kedro/weaselwords.yml | 207 ++++++++++++++++++++++ .github/styles/Kedro/words.yml | 53 ++++++ docs/source/data/data_catalog.md | 1 + 14 files changed, 658 insertions(+) create mode 100644 .github/styles/Kedro/abbreviations.yml create mode 100644 .github/styles/Kedro/gender.yml create mode 100644 .github/styles/Kedro/headings.yml create mode 100644 .github/styles/Kedro/inclusive.yml create mode 100644 .github/styles/Kedro/links.yml create mode 100644 .github/styles/Kedro/oxfordcomma.yml create mode 100644 .github/styles/Kedro/pronouns.yml create mode 100644 .github/styles/Kedro/quotes.yml create mode 100644 .github/styles/Kedro/sentencelength.yml create mode 100644 .github/styles/Kedro/toowordy.yml create mode 100644 .github/styles/Kedro/ukspelling.yml create mode 100644 .github/styles/Kedro/weaselwords.yml create mode 100644 .github/styles/Kedro/words.yml diff --git a/.github/styles/Kedro/abbreviations.yml b/.github/styles/Kedro/abbreviations.yml new file mode 100644 index 0000000000..345ecc31a4 --- /dev/null +++ b/.github/styles/Kedro/abbreviations.yml @@ -0,0 +1,11 @@ +extends: substitution +message: "Use '%s' instead of abbreviations like '%s'." +ignorecase: true +level: warning +nonword: true +action: + name: replace +swap: + '\b(?:eg|e\.g\.|eg\.)[\s,]': for example + '\b(?:ie|i\.e\.|ie\.)[\s,]': that is + '\b(?:etc)[\s\n,.]': and more diff --git a/.github/styles/Kedro/gender.yml b/.github/styles/Kedro/gender.yml new file mode 100644 index 0000000000..f06d0f9cc5 --- /dev/null +++ b/.github/styles/Kedro/gender.yml @@ -0,0 +1,13 @@ +extends: existence +message: "Use a gender-neutral pronoun instead of '%s'." +level: error +ignorecase: true +tokens: + - he/she + - s/he + - \(s\)he + - \bhe\b + - \bhim\b + - \bhis\b + - \bshe\b + - \bher\b diff --git a/.github/styles/Kedro/headings.yml b/.github/styles/Kedro/headings.yml new file mode 100644 index 0000000000..3c83043bd3 --- /dev/null +++ b/.github/styles/Kedro/headings.yml @@ -0,0 +1,56 @@ +extends: capitalization +message: "'%s' should use sentence-style capitalization." +level: warning +scope: heading +match: $sentence +exceptions: + - Kedro + - Kedro-Viz + - Airflow + - Amazon + - Amazon Web Services + - AWS Step Functions + - AWS Systems Manager + - Azure + - Azure App Service + - Azure App Service Plan + - Azure Blob Storage + - Azure Event Hub + - CI/CD + - DataCatalog + - Data Catalog + - Docker + - Docker Compose + - Docker Swarm + - Dockerfile + - GitHub + - GitHub Actions + - Google + - Google Analytics + - Google Cloud + - Google Cloud Functions + - GraphQL + - Hook + - Hooks + - IDs + - Jenkins + - JFrog + - JFrog Artifactory + - Jira + - Kafka + - Kubernetes + - Kubernetes Engine + - Kubernetes Pod + - Kubernetes Service + - Lambda + - Linux + - MySQL + - Python + - QuantumBlack + - QuantumBlack Labs + - Red Hat + - Redis + - Slack + - Ubuntu + - Unix + - URLs diff --git a/.github/styles/Kedro/inclusive.yml b/.github/styles/Kedro/inclusive.yml new file mode 100644 index 0000000000..21792cc49f --- /dev/null +++ b/.github/styles/Kedro/inclusive.yml @@ -0,0 +1,12 @@ +extends: substitution +message: "Use '%s' instead of '%s'." +ignorecase: true +level: error +action: + name: replace +swap: + # bad: good + 'black ?list': 'disallow list|exclude list' + 'master': primary + 'slave': secondary + 'white ?list': 'allow list|include list' diff --git a/.github/styles/Kedro/links.yml b/.github/styles/Kedro/links.yml new file mode 100644 index 0000000000..aa7597d554 --- /dev/null +++ b/.github/styles/Kedro/links.yml @@ -0,0 +1,24 @@ +extends: substitution +message: "Avoid vague text in links like '%s' unless you can pair it with more descriptive text." +link: 'https://github.com/kedro-org/kedro/wiki/Kedro-documentation-style-guide' +ignorecase: true +scope: raw +nonword: true +level: error + +swap: +# For the word 'here' in Markdown and HTML links + '\[here\]\(.*?\)': 'here' + '\s*here\s*': 'here' + +# For the word 'this' in Markdown and HTML links + '\[this\]\(.*?\)': 'this' + '\s*this\s*': 'this' + +# For the word 'page' in Markdown and HTML links + '\[page\]\(.*?\)': 'page' + '\s*page\s*': 'page' + +# For the phrase 'this page' in Markdown and HTML links + '\[this page\]\(.*?\)': 'this page' + '\s*this page\s*': 'this page' diff --git a/.github/styles/Kedro/oxfordcomma.yml b/.github/styles/Kedro/oxfordcomma.yml new file mode 100644 index 0000000000..464d6e6997 --- /dev/null +++ b/.github/styles/Kedro/oxfordcomma.yml @@ -0,0 +1,6 @@ +extends: existence +message: "Use the Oxford comma in '%s'." +scope: sentence +level: suggestion +tokens: + - '(?:[^,]+,){1,}\s\w+\s(?:and|or)' diff --git a/.github/styles/Kedro/pronouns.yml b/.github/styles/Kedro/pronouns.yml new file mode 100644 index 0000000000..cea1aca18e --- /dev/null +++ b/.github/styles/Kedro/pronouns.yml @@ -0,0 +1,11 @@ +extends: existence +message: "Avoid first-person singular pronouns such as '%s'." +level: warning +nonword: true +tokens: + - (?<=^|\s)I(?=\s) + - (?<=^|\s)I,(?=\s) + - \bI'm\b + - (?<=\s)[Mm]e\b + - (?<=\s)[Mm]y\b + - (?<=\s)[Mm]ine\b diff --git a/.github/styles/Kedro/quotes.yml b/.github/styles/Kedro/quotes.yml new file mode 100644 index 0000000000..7e4ed44be0 --- /dev/null +++ b/.github/styles/Kedro/quotes.yml @@ -0,0 +1,10 @@ +extends: existence +message: Use straight quotes instead of smart quotes. +level: warning +nonword: true +action: +tokens: + - “ + - ” + - ‘ + - ’ diff --git a/.github/styles/Kedro/sentencelength.yml b/.github/styles/Kedro/sentencelength.yml new file mode 100644 index 0000000000..6c135a84c5 --- /dev/null +++ b/.github/styles/Kedro/sentencelength.yml @@ -0,0 +1,11 @@ +extends: occurrence +message: "Try to keep your sentence length to 30 words or fewer." +level: suggestion +# Here, we're counting the number of words +# in a sentence. +# +# If there are more than 30, we'll flag it. +scope: sentence +ignorecase: false +max: 30 +token: (\w+) diff --git a/.github/styles/Kedro/toowordy.yml b/.github/styles/Kedro/toowordy.yml new file mode 100644 index 0000000000..262b5ca419 --- /dev/null +++ b/.github/styles/Kedro/toowordy.yml @@ -0,0 +1,218 @@ +# Write Good's "Too wordy" rule https://github.com/testthedocs/vale-styles/blob/master/write-good/TooWordy.yml +extends: existence +message: "'%s' is too wordy" +ignorecase: true +level: warning +tokens: + - a number of + - abundance + - accede to + - accelerate + - accentuate + - accompany + - accomplish + - accorded + - accrue + - acquiesce + - acquire + - adjacent to + - adjustment + - admissible + - advantageous + - adversely impact + - advise + - aforementioned + - aggregate + - aircraft + - all of + - all things considered + - alleviate + - allocate + - along the lines of + - already existing + - alternatively + - amazing + - ameliorate + - anticipate + - apparent + - appreciable + - as a matter of fact + - as a means of + - as far as I'm concerned + - as of yet + - as to + - as yet + - ascertain + - assistance + - at the present time + - at this time + - attain + - attributable to + - because of the fact that + - belated + - benefit from + - bestow + - by means of + - by virtue of the fact that + - by virtue of + - cease + - close proximity + - commence + - comply with + - concerning + - consequently + - consolidate + - constitutes + - demonstrate + - depart + - designate + - discontinue + - due to the fact that + - each and every + - economical + - eliminate + - elucidate + - employ + - endeavor + - enumerate + - equitable + - equivalent + - evaluate + - evidenced + - exclusively + - expedite + - expend + - expiration + - facilitate + - factual evidence + - feasible + - finalise + - first and foremost + - for all intents and purposes + - for the most part + - for the purpose of + - forfeit + - formulate + - have a tendency to + - honest truth + - however + - if and when + - impacted + - implement + - in a manner of speaking + - in a timely manner + - in a very real sense + - in accordance with + - in addition + - in all likelihood + - in an effort to + - in between + - in excess of + - in lieu of + - in light of the fact that + - in many cases + - in my opinion + - in order to + - in regard to + - in some instances + - in terms of + - in the case of + - in the event that + - in the final analysis + - in the nature of + - in the near future + - in the process of + - inception + - incumbent upon + - indicate + - indication + - initiate + - irregardless + - is applicable to + - is authorised to + - is responsible for + - it is essential + - it seems that + - it was + - magnitude + - maximum + - methodology + - minimise + - modify + - monitor + - multiple + - necessitate + - nevertheless + - not certain + - not many + - not often + - not unless + - not unlike + - notwithstanding + - null and void + - numerous + - objective + - obligate + - obtain + - on the contrary + - on the other hand + - one particular + - optimum + - overall + - owing to the fact that + - participate + - particulars + - pass away + - pertaining to + - point in time + - portion + - possess + - preclude + - previously + - prior to + - prioritise + - procure + - proficiency + - provided that + - purchase + - put simply + - readily apparent + - refer back + - regarding + - relocate + - remainder + - remuneration + - requirement + - reside + - residence + - retain + - satisfy + - shall + - should you wish + - similar to + - solicit + - span across + - strategise + - subsequent + - substantial + - successfully complete + - sufficient + - terminate + - the month of + - the point I am trying to make + - therefore + - time period + - took advantage of + - transmit + - transpire + - type of + - until such time as + - utilisation + - utilise + - validate + - various different + - what I mean to say is + - whether or not + - with respect to + - with the exception of + - witnessed diff --git a/.github/styles/Kedro/ukspelling.yml b/.github/styles/Kedro/ukspelling.yml new file mode 100644 index 0000000000..fbd59b50ec --- /dev/null +++ b/.github/styles/Kedro/ukspelling.yml @@ -0,0 +1,25 @@ +extends: existence +message: "In general, use UK English spelling instead of '%s'." +link: 'https://github.com/kedro-org/kedro/wiki/Kedro-documentation-style-guide' +ignorecase: true +level: warning +tokens: + - '(?:\w+)nized' + - '(?:\w+)ize' + - '(?:\w+)log' + - '(?:\w+)lor' + - '(?:\w+)lyze' +exceptions: + - backlog + - blog + - capsize + - catalog + - Catalog + - DataCatalog + - dialog + - log + - maize + - prize + - seize + - size + - tailor diff --git a/.github/styles/Kedro/weaselwords.yml b/.github/styles/Kedro/weaselwords.yml new file mode 100644 index 0000000000..d6c6f73e09 --- /dev/null +++ b/.github/styles/Kedro/weaselwords.yml @@ -0,0 +1,207 @@ +# Write Good's Weasel Words rule https://github.com/testthedocs/vale-styles/blob/master/write-good/Weasel.yml +extends: existence +message: "'%s' is a weasel word!" +ignorecase: true +level: warning +tokens: + - absolutely + - accidentally + - additionally + - allegedly + - alternatively + - angrily + - anxiously + - approximately + - awkwardly + - badly + - barely + - beautifully + - blindly + - boldly + - bravely + - brightly + - briskly + - bristly + - bubbly + - busily + - calmly + - carefully + - carelessly + - cautiously + - cheerfully + - clearly + - closely + - coldly + - completely + - consequently + - correctly + - courageously + - crinkly + - cruelly + - crumbly + - cuddly + - currently + - daily + - daringly + - deadly + - definitely + - deliberately + - doubtfully + - dumbly + - eagerly + - easily + - elegantly + - enormously + - enthusiastically + - equally + - especially + - eventually + - exactly + - exceedingly + - exclusively + - extremely + - fairly + - faithfully + - fatally + - fiercely + - finally + - fondly + - few + - foolishly + - fortunately + - frankly + - frantically + - generously + - gently + - giggly + - gladly + - gracefully + - greedily + - happily + - hardly + - hastily + - healthily + - heartily + - helpfully + - honestly + - hourly + - hungrily + - hurriedly + - immediately + - impatiently + - inadequately + - ingeniously + - innocently + - inquisitively + - interestingly + - irritably + - jiggly + - joyously + - justly + - kindly + - largely + - lately + - lazily + - likely + - literally + - lonely + - loosely + - loudly + - loudly + - luckily + - madly + - many + - mentally + - mildly + - monthly + - mortally + - mostly + - mysteriously + - neatly + - nervously + - nightly + - noisily + - normally + - obediently + - occasionally + - only + - openly + - painfully + - particularly + - patiently + - perfectly + - politely + - poorly + - powerfully + - presumably + - previously + - promptly + - punctually + - quarterly + - quickly + - quietly + - rapidly + - rarely + - really + - recently + - recklessly + - regularly + - remarkably + - relatively + - reluctantly + - repeatedly + - rightfully + - roughly + - rudely + - sadly + - safely + - selfishly + - sensibly + - seriously + - sharply + - shortly + - shyly + - significantly + - silently + - simply + - sleepily + - slowly + - smartly + - smelly + - smoothly + - softly + - solemnly + - sparkly + - speedily + - stealthily + - sternly + - stupidly + - substantially + - successfully + - suddenly + - surprisingly + - suspiciously + - swiftly + - tenderly + - tensely + - thoughtfully + - tightly + - timely + - truthfully + - unexpectedly + - unfortunately + - usually + - very + - victoriously + - violently + - vivaciously + - warmly + - waverly + - weakly + - wearily + - weekly + - wildly + - wisely + - worldly + - wrinkly + - yearly diff --git a/.github/styles/Kedro/words.yml b/.github/styles/Kedro/words.yml new file mode 100644 index 0000000000..5ed27dd319 --- /dev/null +++ b/.github/styles/Kedro/words.yml @@ -0,0 +1,53 @@ +extends: substitution +message: "Use '%s' instead of '%s'." +ignorecase: false +level: warning +action: + name: replace +swap: + # bad: good + 'acknowledgement': 'acknowledgment' + 'auto-complete': 'autocomplete' + 'a number of': 'few|several|many' + 'and/or': 'and|or|either or' + 'back end': 'backend' + 'bear in mind': 'keep in mind' + 'culprit': 'cause' + 'data set': 'dataset' + 'drill down|drilling down|drill into|drilling into': 'examine|investigate|analyze' + 'figure out': 'determine' + 'fine tune|fine-tune': 'customize|optimize|refine' + 'for the most part': 'generally|usually' + 'front end': 'frontend' + 'highly|very': '' + 'hit': 'click|select' + 'in order to': 'to' + 'keep in mind': 'consider' + 'left up to': 'determined by' + 'leverage': 'use' + 'multi-alert': 'multi alert' + 'Note that': '**Note**:' + 'obviously|obvious': '' + 'on the fly': 'real-time|real time' + 'once': 'after' + 'play a hand': 'influence' + 'please|just': '' + 'easily|easy': '' + 'quickly|quick': '' + 'screen board': 'screenboard' + 'simply|simple': '' + 'stand for': 'represents|means' + 'reenable': 're-enable' + 'run time': 'runtime' + 'refer to|visit': 'see|read|follow' + 'time board': 'timeboard' + 'time series': 'timeseries' + 'toplist': 'top list' + 'tradeoff': 'trade-off' + 'turnkey': 'ready to use' + 'under the hood': '' + 'utilize': 'use' + 'via': 'with|through' + 'visit': 'see|read' + 'webserver': 'web server' + 'web site': 'website' diff --git a/docs/source/data/data_catalog.md b/docs/source/data/data_catalog.md index 241e339635..b4a6c4d7da 100644 --- a/docs/source/data/data_catalog.md +++ b/docs/source/data/data_catalog.md @@ -1,5 +1,6 @@ # Introduction to the Data Catalog + In a Kedro project, the Data Catalog is a registry of all data sources available for use by the project. It is specified with a YAML catalog file that maps the names of node inputs and outputs as keys in the `DataCatalog` class. This page introduces the basic sections of `catalog.yml`, which is the file used to register data sources for a Kedro project. From e2bb4cd5cac9e25248046f2be2015f734b8d8d37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 13:28:24 +0100 Subject: [PATCH 4/9] Update anyconfig requirement from ~=0.10.0 to >=0.10,<0.14 (#2876) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates the requirements on [anyconfig](https://github.com/ssato/python-anyconfig) to permit the latest version. - [Changelog](https://github.com/ssato/python-anyconfig/blob/next/NEWS) - [Commits](https://github.com/ssato/python-anyconfig/compare/RELEASE_0.10.0...RELEASE_0.13.0) --- updated-dependencies: - dependency-name: anyconfig dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Juan Luis Cano Rodríguez --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0421e10093..603c0837e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ authors = [ description = "Kedro helps you build production-ready data and analytics pipelines" requires-python = ">=3.7" dependencies = [ - "anyconfig~=0.10.0", + "anyconfig>=0.10,<0.14", "attrs>=21.3", "build", "cachetools~=5.3", From e86508e79d618fee9929860bbc6d79023eef33a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Luis=20Cano=20Rodr=C3=ADguez?= Date: Fri, 25 Aug 2023 10:50:36 +0200 Subject: [PATCH 5/9] Move default template to static `pyproject.toml`, take 2 (#2853) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Remove leftover reference to micropkg setup.py Signed-off-by: Juan Luis Cano Rodríguez * Replace outdated extras requirement with kedro-datasets Signed-off-by: Juan Luis Cano Rodríguez * Remove outdated mention to environment.yml Signed-off-by: Juan Luis Cano Rodríguez * Move flake8 configuration to dedicated file Signed-off-by: Juan Luis Cano Rodríguez * Replace setup.py with pyproject.toml in default project template Signed-off-by: Juan Luis Cano Rodríguez * Adapt link to moving file in docs Signed-off-by: Juan Luis Cano Rodríguez * Revert "Replace outdated extras requirement with kedro-datasets" This reverts commit dfa8a9e8377ca60dcc3026e93087c5538791a0b5. Signed-off-by: Juan Luis Cano Rodríguez * Add release notes for pyproject.toml change Signed-off-by: Juan Luis Cano Rodríguez --------- Signed-off-by: Juan Luis Cano Rodríguez --- RELEASE.md | 2 + docs/source/conf.py | 4 +- docs/source/deployment/airflow_astronomer.md | 2 +- docs/source/development/linting.md | 2 +- docs/source/get_started/kedro_concepts.md | 2 +- docs/source/kedro_project_setup/starters.md | 4 +- .../{{ cookiecutter.repo_name }}/.flake8 | 3 ++ .../{{ cookiecutter.repo_name }}/README.md | 2 +- .../{{ cookiecutter.repo_name }}/setup.cfg | 5 --- .../src/pyproject.toml | 31 +++++++++++++++ .../{{ cookiecutter.repo_name }}/src/setup.py | 39 ------------------- .../{setup.cfg => .flake8} | 0 .../src/pyproject.toml | 31 +++++++++++++++ .../{{ cookiecutter.repo_name }}/src/setup.py | 39 ------------------- .../micropkg/test_micropkg_requirements.py | 4 +- 15 files changed, 78 insertions(+), 92 deletions(-) create mode 100644 features/steps/test_starter/{{ cookiecutter.repo_name }}/.flake8 delete mode 100644 features/steps/test_starter/{{ cookiecutter.repo_name }}/setup.cfg create mode 100644 features/steps/test_starter/{{ cookiecutter.repo_name }}/src/pyproject.toml delete mode 100644 features/steps/test_starter/{{ cookiecutter.repo_name }}/src/setup.py rename kedro/templates/project/{{ cookiecutter.repo_name }}/{setup.cfg => .flake8} (100%) create mode 100644 kedro/templates/project/{{ cookiecutter.repo_name }}/src/pyproject.toml delete mode 100644 kedro/templates/project/{{ cookiecutter.repo_name }}/src/setup.py diff --git a/RELEASE.md b/RELEASE.md index bd338addd5..a80940b776 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -19,6 +19,8 @@ ## Bug fixes and other changes * Updated `kedro pipeline create` and `kedro catalog create` to use new `/conf` file structure. +* Converted `setup.py` in default template to `pyproject.toml` and moved flake8 configuration + to dedicated file `.flake8`. ## Documentation changes * Revised the `data` section to restructure beginner and advanced pages about the Data Catalog and datasets. diff --git a/docs/source/conf.py b/docs/source/conf.py index 4519143968..e80f9b2b29 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -227,7 +227,9 @@ "https://opensource.org/license/apache2-0-php/", "https://docs.github.com/en/rest/overview/other-authentication-methods#via-username-and-password", "https://docs.snowflake.com/en/developer-guide/snowpark/reference/python/api/snowflake.snowpark.DataFrameWriter.saveAsTable.html", - "https://www.educative.io/blog/advanced-yaml-syntax-cheatsheet#anchors" + "https://www.educative.io/blog/advanced-yaml-syntax-cheatsheet#anchors", + # temporarily, until the file actually exists in `main` + "https://github.com/kedro-org/kedro/blob/main/kedro/templates/project/%7B%7B%20cookiecutter.repo_name%20%7D%7D/.flake8", ] # retry before render a link broken (fix for "too many requests") diff --git a/docs/source/deployment/airflow_astronomer.md b/docs/source/deployment/airflow_astronomer.md index 307e9ab903..b21408156b 100644 --- a/docs/source/deployment/airflow_astronomer.md +++ b/docs/source/deployment/airflow_astronomer.md @@ -74,7 +74,7 @@ To follow this tutorial, ensure you have the following: ├── plugins ├── pyproject.toml ├── requirements.txt - ├── setup.cfg + ├── .flake8 └── src ``` diff --git a/docs/source/development/linting.md b/docs/source/development/linting.md index d795086b51..a8bdbc0c44 100644 --- a/docs/source/development/linting.md +++ b/docs/source/development/linting.md @@ -60,7 +60,7 @@ It is a good practice to [split your line when it is too long](https://beta.ruff #### Configure `flake8` -Store your `flake8` configuration in a file named `setup.cfg` within your project root. The Kedro starters use the [following configuration](https://github.com/kedro-org/kedro-starters/blob/main/pandas-iris/%7B%7B%20cookiecutter.repo_name%20%7D%7D/setup.cfg): +Store your `flake8` configuration in a file named `.flake8` within your project root. The Kedro default project template use the [following configuration](https://github.com/kedro-org/kedro/blob/main/kedro/templates/project/%7B%7B%20cookiecutter.repo_name%20%7D%7D/.flake8): ```text [flake8] diff --git a/docs/source/get_started/kedro_concepts.md b/docs/source/get_started/kedro_concepts.md index 4a6d771da0..67f9bf84a9 100644 --- a/docs/source/get_started/kedro_concepts.md +++ b/docs/source/get_started/kedro_concepts.md @@ -72,7 +72,7 @@ project-dir # Parent directory of the template ├── notebooks # Project-related Jupyter notebooks (can be used for experimental code before moving the code to src) ├── pyproject.toml # Identifies the project root and contains configuration information ├── README.md # Project README -├── setup.cfg # Configuration options for `pytest` when doing `kedro test` and for the `isort` utility when doing `kedro lint` +├── .flake8 # Configuration options for `flake8` (linting) └── src # Project source code ``` diff --git a/docs/source/kedro_project_setup/starters.md b/docs/source/kedro_project_setup/starters.md index 4ad60cb0c2..305fe1de00 100644 --- a/docs/source/kedro_project_setup/starters.md +++ b/docs/source/kedro_project_setup/starters.md @@ -155,7 +155,7 @@ Here is the layout of the project as a Cookiecutter template: ├── docs # Project documentation ├── notebooks # Project related Jupyter notebooks (can be used for experimental code before moving the code to src) ├── README.md # Project README -├── setup.cfg # Configuration options for tools e.g. `pytest` or `black` +├── .flake8 # Configuration options for `flake8` (linting) └── src # Project source code └── {{ cookiecutter.python_package }} ├── __init.py__ @@ -164,7 +164,7 @@ Here is the layout of the project as a Cookiecutter template: ├── __main__.py └── settings.py ├── requirements.txt - ├── setup.py + ├── pyproject.toml └── tests ``` diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/.flake8 b/features/steps/test_starter/{{ cookiecutter.repo_name }}/.flake8 new file mode 100644 index 0000000000..8dd399ab55 --- /dev/null +++ b/features/steps/test_starter/{{ cookiecutter.repo_name }}/.flake8 @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 88 +extend-ignore = E203 diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/README.md b/features/steps/test_starter/{{ cookiecutter.repo_name }}/README.md index 8041d41dd9..fd206a315d 100644 --- a/features/steps/test_starter/{{ cookiecutter.repo_name }}/README.md +++ b/features/steps/test_starter/{{ cookiecutter.repo_name }}/README.md @@ -17,7 +17,7 @@ In order to get the best out of the template: ## How to install dependencies -Declare any dependencies in `src/requirements.txt` for `pip` installation and `src/environment.yml` for `conda` installation. +Declare any dependencies in `src/requirements.txt` for `pip` installation. To install them, run: diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/setup.cfg b/features/steps/test_starter/{{ cookiecutter.repo_name }}/setup.cfg deleted file mode 100644 index 3edf923e16..0000000000 --- a/features/steps/test_starter/{{ cookiecutter.repo_name }}/setup.cfg +++ /dev/null @@ -1,5 +0,0 @@ -; Flake8 will be moved in `pyproject.toml` once the library -; starts supporting such config source -[flake8] -max-line-length = 88 -extend-ignore = E203 diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/pyproject.toml b/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/pyproject.toml new file mode 100644 index 0000000000..ea581e7028 --- /dev/null +++ b/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/pyproject.toml @@ -0,0 +1,31 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "{{ cookiecutter.python_package }}" +version = "0.1" +dynamic = ["dependencies"] + +[tool.setuptools.packages.find] +exclude = ["tests"] + +[project.scripts] +{{ cookiecutter.repo_name }} = "{{ cookiecutter.python_package }}.__main__:main" + +[project.optional-dependencies] +docs = [ + "docutils<0.18.0", + "sphinx~=3.4.3", + "sphinx_rtd_theme==0.5.1", + "nbsphinx==0.8.1", + "nbstripout~=0.4", + "sphinx-autodoc-typehints==1.11.1", + "sphinx_copybutton==0.3.1", + "ipykernel>=5.3, <7.0", + "Jinja2<3.1.0", + "myst-parser~=0.17.2", +] + +[tool.setuptools.dynamic] +dependencies = {file = "requirements.txt"} diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/setup.py b/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/setup.py deleted file mode 100644 index af5b101519..0000000000 --- a/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/setup.py +++ /dev/null @@ -1,39 +0,0 @@ -from setuptools import find_packages, setup - -entry_point = ( - "{{ cookiecutter.repo_name }} = {{ cookiecutter.python_package }}.__main__:main" -) - - -# get the dependencies and installs -with open("requirements.txt", encoding="utf-8") as f: - # Make sure we strip all comments and options (e.g "--extra-index-url") - # that arise from a modified pip.conf file that configure global options - # when running kedro build-reqs - requires = [] - for line in f: - req = line.split("#", 1)[0].strip() - if req and not req.startswith("-r"): - requires.append(req) - -setup( - name="{{ cookiecutter.python_package }}", - version="0.1", - packages=find_packages(exclude=["tests"]), - entry_points={"console_scripts": [entry_point]}, - install_requires=requires, - extras_require={ - "docs": [ - "docutils<0.18.0", - "sphinx~=3.4.3", - "sphinx_rtd_theme==0.5.1", - "nbsphinx==0.8.1", - "nbstripout~=0.4", - "sphinx-autodoc-typehints==1.11.1", - "sphinx_copybutton==0.3.1", - "ipykernel>=5.3, <7.0", - "Jinja2<3.1.0", - "myst-parser~=0.17.2", - ] - }, -) diff --git a/kedro/templates/project/{{ cookiecutter.repo_name }}/setup.cfg b/kedro/templates/project/{{ cookiecutter.repo_name }}/.flake8 similarity index 100% rename from kedro/templates/project/{{ cookiecutter.repo_name }}/setup.cfg rename to kedro/templates/project/{{ cookiecutter.repo_name }}/.flake8 diff --git a/kedro/templates/project/{{ cookiecutter.repo_name }}/src/pyproject.toml b/kedro/templates/project/{{ cookiecutter.repo_name }}/src/pyproject.toml new file mode 100644 index 0000000000..ea581e7028 --- /dev/null +++ b/kedro/templates/project/{{ cookiecutter.repo_name }}/src/pyproject.toml @@ -0,0 +1,31 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "{{ cookiecutter.python_package }}" +version = "0.1" +dynamic = ["dependencies"] + +[tool.setuptools.packages.find] +exclude = ["tests"] + +[project.scripts] +{{ cookiecutter.repo_name }} = "{{ cookiecutter.python_package }}.__main__:main" + +[project.optional-dependencies] +docs = [ + "docutils<0.18.0", + "sphinx~=3.4.3", + "sphinx_rtd_theme==0.5.1", + "nbsphinx==0.8.1", + "nbstripout~=0.4", + "sphinx-autodoc-typehints==1.11.1", + "sphinx_copybutton==0.3.1", + "ipykernel>=5.3, <7.0", + "Jinja2<3.1.0", + "myst-parser~=0.17.2", +] + +[tool.setuptools.dynamic] +dependencies = {file = "requirements.txt"} diff --git a/kedro/templates/project/{{ cookiecutter.repo_name }}/src/setup.py b/kedro/templates/project/{{ cookiecutter.repo_name }}/src/setup.py deleted file mode 100644 index 8e62d661f8..0000000000 --- a/kedro/templates/project/{{ cookiecutter.repo_name }}/src/setup.py +++ /dev/null @@ -1,39 +0,0 @@ -from setuptools import find_packages, setup - -entry_point = ( - "{{ cookiecutter.repo_name }} = {{ cookiecutter.python_package }}.__main__:main" -) - - -# get the dependencies and installs -with open("requirements.txt", encoding="utf-8") as f: - # Make sure we strip all comments and options (e.g "--extra-index-url") - # that arise from a modified pip.conf file that configure global options - # when running kedro build-reqs - requires = [] - for line in f: - req = line.split("#", 1)[0].strip() - if req and not req.startswith("--"): - requires.append(req) - -setup( - name="{{ cookiecutter.python_package }}", - version="0.1", - packages=find_packages(exclude=["tests"]), - entry_points={"console_scripts": [entry_point]}, - install_requires=requires, - extras_require={ - "docs": [ - "docutils<0.18.0", - "sphinx~=3.4.3", - "sphinx_rtd_theme==0.5.1", - "nbsphinx==0.8.1", - "nbstripout~=0.4", - "sphinx-autodoc-typehints==1.11.1", - "sphinx_copybutton==0.3.1", - "ipykernel>=5.3, <7.0", - "Jinja2<3.1.0", - "myst-parser~=0.17.2", - ] - }, -) diff --git a/tests/framework/cli/micropkg/test_micropkg_requirements.py b/tests/framework/cli/micropkg/test_micropkg_requirements.py index b0070a1bee..4b424073b7 100644 --- a/tests/framework/cli/micropkg/test_micropkg_requirements.py +++ b/tests/framework/cli/micropkg/test_micropkg_requirements.py @@ -249,8 +249,8 @@ def test_empty_pipeline_requirements_txt( def test_complex_requirements( self, requirement, fake_project_cli, fake_metadata, fake_package_path ): - """Options that are valid in requirements.txt but cannot be packaged using - setup.py.""" + """Options that are valid in requirements.txt but cannot be packaged in + pyproject.toml.""" self.call_pipeline_create(fake_project_cli, fake_metadata) pipeline_requirements_txt = ( fake_package_path / "pipelines" / PIPELINE_NAME / "requirements.txt" From b3637fb49025292aa5afdf554a0090c3dc0a2bd9 Mon Sep 17 00:00:00 2001 From: Sajid Alam <90610031+SajidAlamQB@users.noreply.github.com> Date: Fri, 25 Aug 2023 14:37:02 +0100 Subject: [PATCH 6/9] Add deprecation warnings to top-level use of layer in catalog definition (#2964) * add deprecation Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> * lint Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> * Use FutureWarning Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> * changes based on review Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> * add link to docs Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> * Update RELEASE.md Co-authored-by: Jo Stichbury --------- Signed-off-by: SajidAlamQB <90610031+SajidAlamQB@users.noreply.github.com> Co-authored-by: Jo Stichbury --- RELEASE.md | 2 ++ kedro/io/data_catalog.py | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/RELEASE.md b/RELEASE.md index a80940b776..8361d7e7d6 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -43,6 +43,8 @@ | `AbstractDataset` | `AbstractDataSet` | `kedro.io.core` | | `AbstractVersionedDataset` | `AbstractVersionedDataSet` | `kedro.io.core` | +* Using the `layer` attribute at the top level is deprecated; it will be removed in Kedro version 0.19.0. Please move `layer` inside the `metadata` -> `kedro-viz` attributes. + # Release 0.18.12 ## Major features and improvements diff --git a/kedro/io/data_catalog.py b/kedro/io/data_catalog.py index 156be2130f..4cbe6c0142 100644 --- a/kedro/io/data_catalog.py +++ b/kedro/io/data_catalog.py @@ -293,6 +293,17 @@ class to be loaded is specified with the key ``type`` and their dataset_patterns[ds_name] = ds_config else: + # Check if 'layer' attribute is defined at the top level + if "layer" in ds_config: + import warnings + + warnings.warn( + "Defining the 'layer' attribute at the top level is deprecated " + "and will be removed in Kedro 0.19.0. Please move 'layer' inside the 'metadata' -> " + "'kedro-viz' attributes. See https://docs.kedro.org/en/latest/visualisation/kedro" + "-viz_visualisation.html#visualise-layers for more information.", + FutureWarning, + ) ds_layer = ds_config.pop("layer", None) if ds_layer is not None: layers[ds_layer].add(ds_name) From 3f87895ed0e54d55be4994c462fb2030c3e13493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=20Nu=C3=B1ez?= <37588143+jmnunezd@users.noreply.github.com> Date: Sat, 26 Aug 2023 11:01:08 -0400 Subject: [PATCH 7/9] Update on credentials.md (#2787) * Update on credentials.md Updating example code in credentials.md to make it usable when copy/pasting. Since as of now it will generate a TypeError Signed-off-by: Jose * adding a more explicit code example, now we directly show the user that project_path is a pathlib.Path object Signed-off-by: Jose * Update docs/source/configuration/credentials.md Co-authored-by: Jo Stichbury --------- Signed-off-by: Jose Co-authored-by: Jo Stichbury Co-authored-by: Nok Lam Chan --- docs/source/configuration/credentials.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/source/configuration/credentials.md b/docs/source/configuration/credentials.md index 0d91da9cbc..8252c9d76f 100644 --- a/docs/source/configuration/credentials.md +++ b/docs/source/configuration/credentials.md @@ -12,10 +12,13 @@ Credentials configuration can be loaded the same way as any other project config The following examples all use the default `ConfigLoader` class. ```python +from pathlib import Path + from kedro.config import ConfigLoader from kedro.framework.project import settings -conf_path = str(project_path / settings.CONF_SOURCE) +# Substitute with the [root folder for your project](https://docs.kedro.org/en/stable/tutorial/spaceflights_tutorial.html#terminology) +conf_path = str(Path() / settings.CONF_SOURCE) conf_loader = ConfigLoader(conf_source=conf_path) credentials = conf_loader["credentials"] ``` @@ -25,10 +28,12 @@ This loads configuration files from `conf/base` and `conf/local` whose filenames Calling `conf_loader[key]` in the example above throws a `MissingConfigException` error if no configuration files match the given key. But if this is a valid workflow for your application, you can handle it as follows: ```python +from pathlib import Path + from kedro.config import ConfigLoader, MissingConfigException from kedro.framework.project import settings -conf_path = str(project_path / settings.CONF_SOURCE) +conf_path = str(Path() / settings.CONF_SOURCE) conf_loader = ConfigLoader(conf_source=conf_path) try: From 4194fbd16a992af0320a395c0060aaaea356efb2 Mon Sep 17 00:00:00 2001 From: Dmitry Sorokin <40151847+DimedS@users.noreply.github.com> Date: Tue, 29 Aug 2023 10:09:02 +0100 Subject: [PATCH 8/9] Cap pluggy 1.3 release (#2981) Signed-off-by: Dmitry Sorokin --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 603c0837e5..4ae5ca4273 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "omegaconf~=2.3", "parse~=1.19.0", "pip-tools>=6.5,<8", - "pluggy~=1.0", + "pluggy>=1.0, <1.3", # TODO: Uncap when dropping Python 3.7 support, see https://github.com/kedro-org/kedro/issues/2979 "PyYAML>=4.2, <7.0", "rich>=12.0, <14.0", "rope>=0.21, <2.0", # subject to LGPLv3 license From 29b5cb868db1a422b0a408322a7f4ef01b86a92f Mon Sep 17 00:00:00 2001 From: Ankita Katiyar <110245118+ankatiyar@users.noreply.github.com> Date: Tue, 29 Aug 2023 16:48:01 +0100 Subject: [PATCH 9/9] Make vale linter only run when PR opened or reopened (#2982) Signed-off-by: Ankita Katiyar --- .github/workflows/docs-language-linter.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs-language-linter.yml b/.github/workflows/docs-language-linter.yml index 02b60b7324..a0f6bca06a 100644 --- a/.github/workflows/docs-language-linter.yml +++ b/.github/workflows/docs-language-linter.yml @@ -1,6 +1,7 @@ name: Language Linter for Kedro Docs on: pull_request: + types: [opened, reopened] paths: - "docs/**" - '**.md'