Pyprql

Latest version: v0.12.1

Safety actively analyzes 685838 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 7

0.4.2

Build

* build(.gitignore): ignore vim session files ([`29d1f61`](https://github.com/PRQL/pyprql/commit/29d1f6153a4bcf1a10452e215f47f9fbc666f3a8))

Ci

* ci(noxfile.py): add tests to lints

Adds the tests directory to the CI/CD suite. Additionally, adds the flake8-pytest-style plugin for checking tests. ([`2eeac9b`](https://github.com/PRQL/pyprql/commit/2eeac9bc4f15ddd7e94229535a409e6ac295bc71))

Documentation

* docs(index.md): add docs badge to docs

Forgot to do this when adding to the README. ([`3029853`](https://github.com/PRQL/pyprql/commit/3029853a76dfc0952e2e2904e6ffede3019c3726))

* docs(README.md): add ReadTheDocs

ReadTheDocs now recognises the repository; however, it will not recognise it as a repo I can create webhooks for. So, these still aren&39;t auto-updating. ([`4d5404c`](https://github.com/PRQL/pyprql/commit/4d5404c6c5a34375bcb8a8472f9d18265024f471))

* docs(docs): add tests to the sphinx build ([`049ff35`](https://github.com/PRQL/pyprql/commit/049ff353e37b180201228c45411713ef73f78761))

* docs(tests): document tests

Provides short docstrings across the entire testing module. ([`950e55d`](https://github.com/PRQL/pyprql/commit/950e55dbaef0579b7e72664d51de0cea50b7ef6b))

* docs(README.md): add badges

In addition to adding badges to the README, this also applies a few cosmetic tweaks. ([`c176d65`](https://github.com/PRQL/pyprql/commit/c176d65e22f091f8ac6db7a03a2a0745a7f37139))

* docs(*): correct urls

Correct URLS to reflect move to prql org. ([`0622add`](https://github.com/PRQL/pyprql/commit/0622add58fdb0dcf271102ac69f4a6dc71eb2ff5))

* docs(README.md): get those badges

Got to be jazzy! In all seriousness, provides a useful shortcut to a lot of information. ([`2547540`](https://github.com/PRQL/pyprql/commit/2547540aee2108b6c326e219e1a21bed35ca2a8d))

* docs(LICENSE): add license

Apache 2.0 ([`7119bec`](https://github.com/PRQL/pyprql/commit/7119bec4a80a1f4b11c4134bf034d5dcf8dbca41))

* docs(docs): add Sphinx support

Minimum working sphinx build. Some areas (namely testing) need expanded documentation. This also adds a code of conduct and a guide for contributing. ([`f966f34`](https://github.com/PRQL/pyprql/commit/f966f349d6c81f31f8abd87f929addb4b73d2e81))

* docs(*): provide docstrings throughout

DOCUMENT ALL THE THINGS!!!!!! Should provide docstrings for all code, so we can get all with Sphinx. ([`c1b7b6d`](https://github.com/PRQL/pyprql/commit/c1b7b6dc18db481f8c678cf09811afa3a25d9988))

Fix

* fix: Fixes enforce typing breaking on subscripted generics by forking and providing a flag to ignore this non-error. ([`cb19cbc`](https://github.com/PRQL/pyprql/commit/cb19cbc81275b291856818fd5689881007d5ee3c))

Refactor

* refactor: Attempting fix for new enforce-typing dependency ([`f79a62c`](https://github.com/PRQL/pyprql/commit/f79a62c0474df2a85e00c09986634d5f797c9825))

* refactor(tests): apply lints

Fix a number of typing issues within the test folder. ([`ddbf00f`](https://github.com/PRQL/pyprql/commit/ddbf00f68c5ebe4463d07a6a903b37fd2b592068))

* refactor(*): apply various lints to build docs ([`b3d2962`](https://github.com/PRQL/pyprql/commit/b3d2962e568d70d7c0934a3b91ff0c1987ca1855))

Style

* style(*): blacken files ([`9a0abfb`](https://github.com/PRQL/pyprql/commit/9a0abfb54ec7ee9f99ac352defb6ee3252d691af))

Unknown

* Merge remote-tracking branch &39;origin/main&39;

Conflicts:
poetry.lock ([`aeb6508`](https://github.com/PRQL/pyprql/commit/aeb650806b1f23296bd10d0c1d0723d89e67183e))

* Update README.md

Adding maintainers ([`72bb59f`](https://github.com/PRQL/pyprql/commit/72bb59f2f14e3c85cda84338b175e1526c363e33))

* Update README.md ([`6b38586`](https://github.com/PRQL/pyprql/commit/6b385863ce324c5276f06764e58864c91efacf36))

* Merge pull request 33 from prql/docs

Get sphinx build running ([`8dbd6c7`](https://github.com/PRQL/pyprql/commit/8dbd6c7855dbab48b582c631c34f8710be68f0f0))

* Merge branch &39;main&39; into docs ([`37f2aae`](https://github.com/PRQL/pyprql/commit/37f2aae524849ca954519dc1b230da66825b45fa))

* Update README.md ([`442c581`](https://github.com/PRQL/pyprql/commit/442c581bdea3c6513f80ec4054856622b928d85c))

* Update README.md ([`bde0893`](https://github.com/PRQL/pyprql/commit/bde08937bdfa3159bd10cc9faf92c532d1e710b5))

0.4.1

Fix

* fix: Fixes 27 ([`b666dd0`](https://github.com/PRQL/pyprql/commit/b666dd03135bb209431575f5d1481e29299576cd))

Style

* style(*): blacken files ([`7c6dc37`](https://github.com/PRQL/pyprql/commit/7c6dc3743bafd39fc3f74cc7f2fa15b153933187))

0.4.0

Build

* build(pyproject.toml): specify numpy version

Specifies the numpy version to make sure we are using secure versions. The security patches require >1.22.2, however, which is incompatible with python 3.7, so a split version specification is givern. Security met for python >= 3.8. Note, as well, that the numpy team rate all affected vulnerabilities very, very low. ([`8db2338`](https://github.com/PRQL/pyprql/commit/8db2338a5a311ef3d25a9e7eba91bc5db9a8cf21))

* build(pyproject.toml): add pandas

Requires a split version specification, as pandas 1.3 does not support 3.10, while pandas 1.4 does not support 3.7 ([`88d988f`](https://github.com/PRQL/pyprql/commit/88d988f567c0e63f0f4964b73ddb60858ed578e8))

Ci

* ci(cicd.yml): correct action path ([`ae0e7f7`](https://github.com/PRQL/pyprql/commit/ae0e7f7ab611a5be91305c0baa8d419c66010a4f))

* ci(cicd.yml): use custom nox action

Update our cicd action to use our personal nox composite action. ([`b5337e3`](https://github.com/PRQL/pyprql/commit/b5337e328325f1eb985c181a38232218a947a3cc))

* ci(action.yml): add custom set-up nox

Given that the current set up nox action is broken, we create our own, and add some additional features, including caching of the nox install and isntallation of poetry.

Inspired by: https://github.com/scikit-build/scikit-build/blob/master/.github/actions/setup-nox/action.yml ([`da56480`](https://github.com/PRQL/pyprql/commit/da564806bf14a1bc6e10f511f0d2d62d38e02314))

Documentation

* docs(cli.py): document connect_str properly

Lints prefer init documented directly under class. ([`95e568d`](https://github.com/PRQL/pyprql/commit/95e568d6ba4bd581ba276290cc4dd10dff9a87f4))

* docs: Adding more prql examples ([`2e5149e`](https://github.com/PRQL/pyprql/commit/2e5149e36d167bb16d82de30676941b7c3f519a4))

* docs: Adding prql examples ([`8ae2070`](https://github.com/PRQL/pyprql/commit/8ae2070a6d07c51c5df201de4a73a7435942478f))

Feature

* feat(cli.py): support reading from tsvs

Now users can read from TSVs as well! ([`d2d675b`](https://github.com/PRQL/pyprql/commit/d2d675b7f398f8b32b27117cff1d2305ee85a811))

* feat(*): support saving to tsv

Users can now dump to TSV files. Need to add support for reading from them as well. ([`5a2630f`](https://github.com/PRQL/pyprql/commit/5a2630f7314b0a2ad04333b745d870f39d083486))

* feat(cli.py): support cli saving to csv

Now, users can dump query results to csv for downstream processing. ([`79382c1`](https://github.com/PRQL/pyprql/commit/79382c1aef6bd0e9c7f1e4686fde84b1e11b5f6d))

* feat(prql.py): parse to statements

Adds to statement support to the AST, allowing for parsing of to in a pipeline. ([`2808f26`](https://github.com/PRQL/pyprql/commit/2808f26fb13b82d3800b6e0e92f3a12733291b9e))

* feat(prql.py): adds grammar for to

Borrowing from the structure used for Joins, this grammar provides a parse-able `to` clause. Currently, it only implements a grammar for CSVs, but it could be easily expanded to support additional filetypes. THE PARSING IS NOT HERE IMPLEMENTED. ([`3899c89`](https://github.com/PRQL/pyprql/commit/3899c89fcd6dc735a2fe6a09fd488bfff0a0fb4b))

* feat(cli.py): import csv

If the passed connection string points to a csv, then an in-memory sqlite database is created, and the contents of the csv are dumped to the database. This could cause performance issues with very large databases - both from storing the database in memory, and a speed hit for using pd.DataFrame.to_sql to dump the dataframe. However, performance seems satisfactory on reasonable sized datasets. ([`c847eb2`](https://github.com/PRQL/pyprql/commit/c847eb269b0f48889e5b625b97377283a54b1bd1))

* feat: Adding expression parsing for complex expressions without requiring &39;()&39; ([`855ebd0`](https://github.com/PRQL/pyprql/commit/855ebd0166e06f9d1e288c63b7e529f73e105e61))

* feat: adding completion for show columns and \d+ ([`7b7f676`](https://github.com/PRQL/pyprql/commit/7b7f6768a4519de7ac8fbdc8458b57fe35b8baf7))

* feat: Adding code completion on table names for &39;:&39;, fixes the handling of prev_selection by clearing out on whitespace ([`46f7676`](https://github.com/PRQL/pyprql/commit/46f7676af190d1e5d008cc9f283628a2a47304f2))

Fix

* fix(prql.lark): match file names directly

Provides a regex to directly match file names for parsing. I&39;m reasonably confident there is probably an edge case, but this seems to handle most path situations I can think of. ([`259763b`](https://github.com/PRQL/pyprql/commit/259763b877f9e4385c60f3a986961b9a533892df))

* fix(prql.lark): support extensions for to statement

file_name should be of type name to allow for extensions.

This doesn&39;t cover full file paths yet. Common separators (eg /, ~) still fail to parse correctly. ([`82325a6`](https://github.com/PRQL/pyprql/commit/82325a66c5d5d73e8382011fe2ca681f24914aa6))

* fix(prql.parl): add filename parameter

I&39;d forgot to add a filename parameter when constructing the grammar. ([`f567cd6`](https://github.com/PRQL/pyprql/commit/f567cd6b0a8e2e58488ef392e3d212159ab76f2a))

* fix: Closes 20, All derives should now be in where clause ([`c736b25`](https://github.com/PRQL/pyprql/commit/c736b25b97a3fc7b3a2f873df6860139626b38d2))

* fix: Closes 21, replace_tables now available to all to_sql transformations ([`eb12075`](https://github.com/PRQL/pyprql/commit/eb1207595af4f86df9496c1c7d441b5ab4f8b566))

* fix: Final commit for fix11 ([`421fb04`](https://github.com/PRQL/pyprql/commit/421fb044b687a63547c45562193ad18c4940145e))

* fix: Fix11 , use the AST in the completer. This adds support for table aliases when completing fields. ([`9e79119`](https://github.com/PRQL/pyprql/commit/9e79119b0fd308ab5928f50e447e4623a9ed18c2))

* fix: Fixes 10 typing a letter afer period was not auto completing ([`ee8c7f5`](https://github.com/PRQL/pyprql/commit/ee8c7f57bd84e0b535441b546a96949f57280ecb))

Refactor

* refactor(prql.py): ignore type errors in 3.7

For some reason, some false positive type errors are thrown for 2 lines in python 3.7 only. As they pass in >= 3.8 and are definitely not errors, they are ignored. ([`043e96c`](https://github.com/PRQL/pyprql/commit/043e96c4a34a2154d26158b8e7936750d1e8a2ba))

* refactor: Fixes 24, had junk data in the database causing weird results ([`f2d6058`](https://github.com/PRQL/pyprql/commit/f2d6058309be6878d0c30bd9ffc7de79128651cc))

* refactor: updating grammar to not require () around expressions ([`3a6852a`](https://github.com/PRQL/pyprql/commit/3a6852a3d219e9b80bcc637d90783d95a906e855))

* refactor: clean up ([`559dab1`](https://github.com/PRQL/pyprql/commit/559dab108e9069a053306702cd97395dccee0834))

* refactor: allowing for order named arg on sort placeable anywhere ([`5fd0c1f`](https://github.com/PRQL/pyprql/commit/5fd0c1f92fe0f3021de369cfaa7b905ffcb90a68))

* refactor(*): improve CLI structure

Move logic for running CLI into __init__, while providing a separate module for each of the main components of the CLI (Lexer, Style, Completer, CLI). ([`bc9bb72`](https://github.com/PRQL/pyprql/commit/bc9bb72a20ca5119203cf02d404a618c847f9a85))

Style

* style(*): apply lints ([`f2769e9`](https://github.com/PRQL/pyprql/commit/f2769e97d32150d06d0cb9bd6b43a4794b541043))

Test

* test(test_grammar.py): exapnd to test coverage

Expands test coverage for complex file names with the to clause, using parametrisation to provide coverage for both windows and Linux/Mac cases. ([`0c1f06e`](https://github.com/PRQL/pyprql/commit/0c1f06eed1f06f6ca638292780ec351825007346))

* test(test_grammar.py): add unit tests for to statements

Includes a (currently) failing test for complex file names. Will need to fix this in a future commit. ([`e8ff715`](https://github.com/PRQL/pyprql/commit/e8ff715b1c5cc76ee5b6a19eb1672ec169b2bec1))

* test(test_grammar.py): correct index

The searched for string in the test_aggregates_grammar_nested should occur at position == 0, not > 0. ([`3c68f01`](https://github.com/PRQL/pyprql/commit/3c68f01f322ab5e9f8f3969c201a212d0651b75a))

Unknown

* Merge pull request 26 from qorrect/feat_to_csv

Support writing to CSVs/TSVs ([`ca5b587`](https://github.com/PRQL/pyprql/commit/ca5b587a4e9631a5fe6ba9d16a4af569d18ea3e4))

* Merge branch &39;feat_csv&39;

Provides support for reading a tabular csv into an in-memory sqlite
database, assuming headers are in the first row, and there is no index
column. ([`9126d4f`](https://github.com/PRQL/pyprql/commit/9126d4f49ad1f8559efe3573bb1a68e0c6027a9e))

* Merge remote-tracking branch &39;origin/main&39; ([`c3c0da3`](https://github.com/PRQL/pyprql/commit/c3c0da37beb9cb573fc88dec022ffa1155bca59f))

* Merge pull request 25 from qorrect/fix11

Fix11 ([`1504f8c`](https://github.com/PRQL/pyprql/commit/1504f8ca0a543cec62dd856bab15ee26a309c405))

* Merge pull request 23 from qorrect/fix11

Fix11, refactors the AutoCompleter to use the AST , fixes various auto completion issues ([`a2dc156`](https://github.com/PRQL/pyprql/commit/a2dc15684fcf6f8d0602c44901b89c778a4051d5))

0.3.0

Feature

* feat(prql.lark): add join aliases

Add necessary grammar to support aliases in &34;from...join...&34; statements. ([`94a405e`](https://github.com/PRQL/pyprql/commit/94a405ee44632f378476645c4303e08e91a275ef))

Refactor

* refactor: cleaning up tests, fixing join sql generation when join_type ( probably should rename that to side ) is None ([`c4fec3e`](https://github.com/PRQL/pyprql/commit/c4fec3ec664133b638fce2450aceaec43f181c95))

Unknown

* Merge pull request 19 from qorrect/fix013

Fix013 ([`2de64e1`](https://github.com/PRQL/pyprql/commit/2de64e10bc4cae53559685ecf0c174bf56f2fb5a))

* Fixing type error ([`c57fd32`](https://github.com/PRQL/pyprql/commit/c57fd32dab4809033d29931f2a6304a23706b546))

* Update lark file to allow for named params for join in any location, adding Alias AST class, updating ast_to_sql with the new join aliases. ([`0c970c4`](https://github.com/PRQL/pyprql/commit/0c970c49713a7ea9be8414cb84a95483ff948264))

0.2.5

Fix

* fix(cli.py): remove sql print

To prevent redundeancy, the generated SQL query is no longer printed in SQL mode only.

Closes 14. ([`fdf639e`](https://github.com/PRQL/pyprql/commit/fdf639e65e8522c57ea1c9400bd1c41de78833ac))

Unknown

* Merge pull request 17 from qorrect/fix016

fix016 ([`f3908cb`](https://github.com/PRQL/pyprql/commit/f3908cbe01f4a7ac0d7abaac5cf4898a68017f74))

* Merge pull request 18 from qorrect/fix014

fix014 ([`9c1a190`](https://github.com/PRQL/pyprql/commit/9c1a190abd07b5ef47aa99ea2ab0cbda6d2d1781))

0.2.4

Build

* build: Fixing lint for prql.py ([`23f027f`](https://github.com/PRQL/pyprql/commit/23f027fcf720be2dafe294c8d8695c2b83b847ac))

* build: Adding support for python3.7 and typing.Literal ([`143d7bc`](https://github.com/PRQL/pyprql/commit/143d7bc6d54b72d5bf458564e7a20cc4b3e110a6))

Ci

* ci(prql.py): add type ignore comment

Both clauses of the try/except block for typing literal need ignore comments to make sure they pass on all versions. ([`a51b3ed`](https://github.com/PRQL/pyprql/commit/a51b3edc31b135b2e4c18b4dadd56f2305c4a7aa))

* ci(cicd.yaml): run lints

By error, the previous actions ran form nox session twice, instead of running lint. ([`5101e21`](https://github.com/PRQL/pyprql/commit/5101e21f923c8a9a034ee0c5a346611b011e2978))

Documentation

* docs(prql.py): add annotations

Completes type annotations across the codebase. ([`a03b653`](https://github.com/PRQL/pyprql/commit/a03b653590a8fd4daef26f9ae26f718498ccf75a))

* docs(cli.py): correct docstrings

A few docstrings were mangled in the the refactor. This re-formats htem to meet numpy standards. ([`ee2a5f2`](https://github.com/PRQL/pyprql/commit/ee2a5f2eeee8c8ce8b5e8cdc3aad8022c591527a))

* docs(*): add module level docstings

After the refactor, add module level docstrings for new __init__&39;s. ([`a9d30de`](https://github.com/PRQL/pyprql/commit/a9d30de78450f24953b4e27b16532a6baa5a777f))

Fix

* fix(cli.py): match exit to [&34;&34;]

By matching exit to a list of empty strings, we prevent a Nonetype not iterable error from triggering on exit.

Close 16. ([`aa40c42`](https://github.com/PRQL/pyprql/commit/aa40c421c99ad52ee798294f1c5ebe4059352575))

* fix(cli.py): match exit to empty list

Previously, the completor matched exit to None. This triggered an &34;object not iterable error&34;. By matching to an empty list (obviously there will be nothing after exit, so we don&39;t need to retrieve possible completions), we can exit cleanly. ([`f8c04a3`](https://github.com/PRQL/pyprql/commit/f8c04a359190009d2aa121e13a3d4261aee5b7cc))

* fix(cli.py): check for sqlalchemy error

When executing an SQL query, this checks if a ResourceClosedError is thrown. As this is indicative of a successful query that doesnot return (ie CREATE/UPDATE/DELETE/etc.), we can catch it and print a null line instead of throwing the error. If the error is not generated, then we have results, so we print them to the screen.

Closes 12. ([`fe2c804`](https://github.com/PRQL/pyprql/commit/fe2c804470139699a3708a286167ba1c297b0aaa))

* fix(cli.py): increase default limit

Increses the default LIMIT from 5 to 25.

See 12. ([`b5e7be4`](https://github.com/PRQL/pyprql/commit/b5e7be4b574e476495367dd5af26df3633d47b38))

* fix(cli.py): append limit to select only

This checks the generated SQL query for SELECT before appending LIMIT. This should allow us to run non-returning queries (like CREATE TABLE) from the SQL cli.

See 12. ([`66f1d57`](https://github.com/PRQL/pyprql/commit/66f1d57cdd3e69141383f712a2ae71c1eb34a2ec))

Refactor

* refactor: Refactor the grammar to use Larks Maybe, general cleanup ([`90781e6`](https://github.com/PRQL/pyprql/commit/90781e660424c9f2497eea849eb318e77ffb61e1))

* refactor: Refactor the grammar to use Larks Maybe, general cleanup ([`4f99b2c`](https://github.com/PRQL/pyprql/commit/4f99b2cdc0979f203893fcb424096db2852d2a58))

* refactor(prql.py): clean up __init__s

In cases where we have to define our own init methods to satisfy Lark, a data class isn&39;t necessary. Additionally, in cases where a data class can be used, we should prefer to use the dataclass __post_init__ method. This commit applies this logic across the python language framework of prql. ([`cfbdf35`](https://github.com/PRQL/pyprql/commit/cfbdf35a3af1792b4f32b851a5d680507946e6f0))

Style

* style(*): blacken files ([`8a4b632`](https://github.com/PRQL/pyprql/commit/8a4b6327873b29c2c8dd0ece8f469c3c3ece62f6))

* style(*): blacken files ([`2a2e247`](https://github.com/PRQL/pyprql/commit/2a2e24700fc74241362f7d92617e35d2ba0363da))

Unknown

* Merge pull request 15 from qorrect/fix012

fix012 ([`5837717`](https://github.com/PRQL/pyprql/commit/583771753995c064014b79d5c283a737c75db9a1))

* Merge branch &39;grammar-rewrite&39;

Conflicts:
pyprql/lang/prql.py ([`6773bbc`](https://github.com/PRQL/pyprql/commit/6773bbc7c0ecacdbe758989f755646cc9f9104ae))

* Merge remote-tracking branch &39;origin/main&39;

Conflicts:
pyprql/lang/prql.py ([`c121d77`](https://github.com/PRQL/pyprql/commit/c121d77b4b5025c16adaf32e4271f8d504c37586))

* Ignoring D101, D105, D103, D102, D401 until those are fully implemented ([`3dfaf0f`](https://github.com/PRQL/pyprql/commit/3dfaf0f2f5026504ba1e0a9e1af85d9e3eeafa80))

* Merge remote-tracking branch &39;origin/main&39; ([`e62f705`](https://github.com/PRQL/pyprql/commit/e62f705ebd71534c42d373c1d3111ea90e51107d))

* Fixing up wording , some CLI additions such as by:, order:, etc. Created 11 to track progress on it ([`354aa0e`](https://github.com/PRQL/pyprql/commit/354aa0efe55ebf9f31d11c44990ee234772fa64b))

Page 5 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.