Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add type hints to simple API #1951

Merged
merged 11 commits into from
Nov 25, 2021
Merged

Add type hints to simple API #1951

merged 11 commits into from
Nov 25, 2021

Conversation

jpy-git
Copy link
Contributor

@jpy-git jpy-git commented Nov 21, 2021

Brief summary of the change made

This PR aims to add basic type hinting to the simple API. Additionally I have added a py.typed file and included it in setup.cfg so that the simple API is mypy compatible in external projects.

Are there any other side effects of this change that we should be aware of?

No

Pull Request checklist

  • Please confirm you have completed any of the necessary steps below.

  • Included test cases to demonstrate any code changes, which may be one or more of the following:

    • .yml rule test cases in test/fixtures/rules/std_rule_cases.
    • .sql/.yml parser test cases in test/fixtures/dialects (note YML files can be auto generated with python test/generate_parse_fixture_yml.py or by running tox locally).
    • Full autofix test cases in test/fixtures/linter/autofix.
    • Other.
  • Added appropriate documentation for the change.

  • Created GitHub issues for any relevant followup/future enhancements if appropriate.

src/sqlfluff/api/simple.py Outdated Show resolved Hide resolved
src/sqlfluff/api/simple.py Outdated Show resolved Hide resolved
MANIFEST.in Outdated Show resolved Hide resolved
src/sqlfluff/api/simple.py Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Nov 21, 2021

Codecov Report

Merging #1951 (6d46f0e) into main (65cfeb5) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##              main     #1951   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          148       148           
  Lines        10300     10291    -9     
=========================================
- Hits         10300     10291    -9     
Impacted Files Coverage Δ
src/sqlfluff/core/config.py 100.00% <ø> (ø)
src/sqlfluff/core/linter/linter.py 100.00% <ø> (ø)
src/sqlfluff/api/simple.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 65cfeb5...6d46f0e. Read the comment docs.

@jpy-git
Copy link
Contributor Author

jpy-git commented Nov 24, 2021

@barrywhart made the changes mentioned above, I think the switch to Optional[List[str]] for the rules params simplifies things a lot

@jpy-git
Copy link
Contributor Author

jpy-git commented Nov 24, 2021

ahh coverage suggest I can happily remove the string input from Linter as well now, so will get that done

@barrywhart
Copy link
Member

This PR looks good to me. @alanmcruickshank: Any concerns about the changes to simplify the API? It introduces some breaking changes, but they make it a bit cleaner and easier to understand or document.

Copy link
Member

@alanmcruickshank alanmcruickshank left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm good with these changes. We should make a note that it introduces a breaking change in the changelog though. I think this probably should trigger a minor release too.

@barrywhart barrywhart merged commit 1cb0be5 into sqlfluff:main Nov 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants