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

Update Develop #47

Merged
merged 90 commits into from
Feb 9, 2021
Merged

Update Develop #47

merged 90 commits into from
Feb 9, 2021

Conversation

justindujardin
Copy link
Owner

No description provided.

justindujardin and others added 30 commits April 23, 2020 15:46
BREAKING CHANGES: GCSPaths must include a path scheme

Before GCSPath would convert `/bucket-name/file` into `gs://bucket-name/file` internally. This leads to ambiguity *(thanks @honnibal) when dealing with regular file-system paths and bucket paths together. Does the path `/foo/bar` point to an absolute file path or a GCS bucket named foo?

Now paths **must be** constructed with a path scheme. This allows GCSPath to deal with both types of paths, and is needed for the CLI apps to come.
 - add "pathy" entry point to the gcspath package
 - add Typer requirement
 - add typer CLI app for copying and moving files
 - basic test
GCSPath wants to work with many kinds of paths, and it's not always clear upfront what kind of path a string represents. If you're on a local file system, the path "/usr/bin/something" may be totally valid, but as a GCSPath it isn't valid because there's no service scheme attached to it, e.g. "gs://bucket/usr/bin/something"

FluidPath is a Union of pathlib.Path and GCSPath which allows type-checking of the paths without needing explicit knowledge of what kind of path it is, until that knowledge is needed.

*note* I originally thought of using "UnionPath" instead of "FluidPath" but the intellisense for completing "GCSPath.union" was very crowded, and a helper should be easy to type with completion.
 - removes files or folders
 - add tests
 - prints the full paths of files found in the location
 - it does more than just GCS at this point
feat(pathy): rename library to be more generic
feat(cli): add pathy executable with cp and mv commands
refactor: construct bucket paths with scheme prefixes
# [0.1.0](v0.0.17...v0.1.0) (2020-04-24)

### Features

* add FluidPath and GCSPath.fluid method ([3393226](3393226))
* **cli:** add ls [path] command ([17cab1d](17cab1d))
* **cli:** add pathy executable with cp and mv commands ([98760fc](98760fc))
* **cli:** add rm [path] command ([31cea91](31cea91))
* **pathy:** rename library to be more generic ([c62b14d](c62b14d))
 - rm will fail if given a directory without the -r flag (similar to unix rm)
 - rm will print the removed files/folders when given the -v flag
feat(cli): add -r and -v flags for safer usage
## [0.1.1](v0.1.0...v0.1.1) (2020-04-24)

### Features

* **cli:** add -r and -v flags for safer usage ([a87e36f](a87e36f))
 - catch the error and return a None owner
fix: path.owner() can raise when using filesystem adapter
## [0.1.2](v0.1.1...v0.1.2) (2020-05-23)

### Bug Fixes

* path.owner() can raise when using filesystem adapter ([2877b06](2877b06))
 - allow anything in range >=0.3.0,<1.0.0
## [0.1.3](v0.1.2...v0.1.3) (2020-06-28)

### Features

* upgrade typer support ([e481000](e481000))
…m-6.14.6

chore(deps): bump npm from 6.14.2 to 6.14.6
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>
…dash-4.17.19

chore(deps): bump lodash from 4.17.15 to 4.17.19
Be more consistent with the Pathy naming.

BREAKING CHANGE: PureGCSPath is now PurePathy
dependabot bot and others added 28 commits September 12, 2020 17:01
…de-fetch-2.6.1

chore(deps): bump node-fetch from 2.6.0 to 2.6.1
 - this is pretty nice. If you don't have the packages installed, the types end up being Any everywhere, but if you do have them installed, you get all the correct types including documentation popups in the IDE and intellisense 🎉
 - to get GCS support, use `pip install pathy[gcs]`
Update smart_open==2.2.0 to remove default AWS dependencies
## [0.3.1](v0.3.0...v0.3.1) (2020-09-26)

### Features

* update smart-open to 2.2.0 for minimal deps ([4b3e959](4b3e959))
* **ci:** add pyright check to lint step ([10ce34d](10ce34d))
 - it seems like a reasonably common pattern, make sure it works like rmdir
 - the Path open method has a gross type that changes based on the python version. We'll use our specific type and deal with the consequences. 😎
⬆️ Upgrade smart-open pin, to fix botocore requiring urllib3 < 1.26
## [0.3.2](v0.3.1...v0.3.2) (2020-11-12)

### Bug Fixes

* upgrade smart-open to >=2.2.0,<4.0.0 ([#36](#36)) ([fdf083e](fdf083e))
- return "" from file paths as expected rather than error
## [0.3.3](v0.3.2...v0.3.3) (2020-11-12)

### Bug Fixes

* path.scheme would error with schemeless paths ([#37](#37)) ([80f0036](80f0036))
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 17.0.4 to 17.2.3.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](semantic-release/semantic-release@v17.0.4...v17.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rgs (#39)

* feat(clients): add set_client_params for specifying client-specific args

 - useful for passing credentials and other args to the underlying bucket client library

* chore: fix lint

* test: add test for set_client_params

* chore: fix test

* test: run GCS tests during CI build

* chore: install all deps for testing

* chore: fix credentials detection

* chore: update docs

* test(clients): add recreate behavior test

* chore: use more generous wait in timestamp test

* chore: update readme snippets
## [0.3.4](v0.3.3...v0.3.4) (2020-11-22)

### Features

* **clients:** add set_client_params for specifying client-specific args ([#39](#39)) ([84b9987](84b9987))
* test(ci): add readme snippet test runner

 - gather up and execute the python snippets in the Readme to make sure they work.

* chore: update docs and mathy_pydoc version

* chore: update docs
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](npm/ini@v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: python 3.9 compatibility

 - a change to the way scandir is used causes a KeyError in some code paths
 - root cause: https://bugs.python.org/issue39916
 - solution is to refactor scandir to use a class that can be used as a generator or context manager.

* chore: disable broken spacy test until thinc pr lands

* chore: make PathyScanDir iterable for py < 3.8

* chore: cleanup from review

* chore: drop old tox file

* chore: add codecov yml to disable patch coverage
## [0.3.5](v0.3.4...v0.3.5) (2021-02-02)

### Bug Fixes

* **pypi:** add requirements.txt to distribution ([#45](#45)) ([759cd86](759cd86))
* python 3.9 compatibility ([#46](#46)) ([a965f40](a965f40))
@codecov
Copy link

codecov bot commented Feb 9, 2021

Codecov Report

❗ No coverage uploaded for pull request base (develop@0ee7477). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             develop      #47   +/-   ##
==========================================
  Coverage           ?   89.20%           
==========================================
  Files              ?        7           
  Lines              ?      926           
  Branches           ?        0           
==========================================
  Hits               ?      826           
  Misses             ?      100           
  Partials           ?        0           

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 0ee7477...2bf1cff. Read the comment docs.

@justindujardin justindujardin merged commit 1e4bc6a into develop Feb 9, 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.

4 participants