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

Rebased on goodtables.next codebase #118

Merged
merged 78 commits into from
Oct 13, 2016
Merged

Rebased on goodtables.next codebase #118

merged 78 commits into from
Oct 13, 2016

Conversation

@roll roll added review and removed review labels Oct 2, 2016
@roll roll changed the title [WIP] Rebase on next codebase [WIP] Rebase on goodtables.next codebase Oct 5, 2016
@roll
Copy link
Member Author

roll commented Oct 12, 2016

@pwalsh
Please take a look it's ready for a review - for related issues I've added examples of goodtables.next output or design notes.

Code here and readme - https://github.com/frictionlessdata/goodtables-py/tree/next-initial (PR interface hard to use in this case)

cc @amercader @georgiana-b

@roll roll changed the title [WIP] Rebased on goodtables.next codebase Rebased on goodtables.next codebase Oct 12, 2016
@pwalsh
Copy link
Member

pwalsh commented Oct 12, 2016

@roll any way to run tests of this code against a lot of those test files I had?

@roll
Copy link
Member Author

roll commented Oct 12, 2016

@pwalsh
I've created issue for it - https://github.com/frictionlessdata/goodtables-py/issues/127 - will be adding it next

@pwalsh
Copy link
Member

pwalsh commented Oct 12, 2016

Based on the way profiles are used here, I don't see why the profile function needs errors and table passed in as arguments - they are always empty. Why not get rid of the empty list assignments and have

errors, tables = profile_handler(source, **options)  # sidenote: handler because more meaningful than func?

@pwalsh
Copy link
Member

pwalsh commented Oct 13, 2016

@roll I'm done with my review, as above.

@roll
Copy link
Member Author

roll commented Oct 13, 2016

@pwalsh
Thanks, pretty comprehensive review!


where are checks for things like file not found, http , io error, etc. coming from, if not here https://github.com/frictionlessdata/goodtables-py/blob/next-initial/goodtables/checks/__init__.py#L1

I've tried to have check for every error but I've failed with this idea as not flexible enough. So for now source errors could be emitted:

It gives much more flexibility now and in a future (e.g. when we'll move jts validation on table level - it will be not an exception handling but iterating over errors so check(exception) will not work). Also those table checks was just a boilerplate code.


I've added issues based on comments (as we've discussed to do first big chuck of work and then split additional work into small parts):


And I've pushed commits covering other comments.

@pwalsh
Copy link
Member

pwalsh commented Oct 13, 2016

@roll ok, but I do think that this is critical before merging this onto master, as without it, we've lost important functionality:

https://github.com/frictionlessdata/goodtables-py/blob/next-initial/goodtables/inspector.py#L148

@roll
Copy link
Member Author

roll commented Oct 13, 2016

@pwalsh
This one we're merging to next branch (check PR header). Then we will close other issues thru PRs to next branch. And then we will merge next to master (when it will be master ready, tested etc).

So I have no preference I could include https://github.com/frictionlessdata/goodtables-py/blob/next-initial/goodtables/inspector.py#L148 to this PR or close it as a next PR.

@pwalsh
Copy link
Member

pwalsh commented Oct 13, 2016

Ok. I don't know why the extra step, but go for it then, and I suggest to address these errors asap on the next branch.

@roll
Copy link
Member Author

roll commented Oct 13, 2016

Ok. Thanks. Extra step because the code is not master ready but I want to make closing other issue reviwable by the team. To do not put everything in one gigantic PR (it's already pretty big though=).

PS.
But as we discussed with @amercader - starting from this merge he could be able already work with next branch while we're tweaking it.

@pwalsh
Copy link
Member

pwalsh commented Oct 13, 2016

Great. Let's go!

@roll roll merged commit f39b89f into next Oct 13, 2016
@roll roll deleted the next-initial branch October 13, 2016 17:48
roll pushed a commit that referenced this pull request Nov 2, 2016
* Rebased on goodtables.next codebase (#118)

* removed current codebase

* added updated codebase

* fixed linting

* updated readme

* updated readme

* updated readme

* fixed source checks

* added dataset checks

* min style change

* removed ecode filter from filter_checks

* renamed cells back to columns + row_number

* added dataset check stubs

* implemented dataset checks

* fixed linting

* moved __inspect_table next to inspect for better reading

* fixed list.clear for python2

* added error limit to dataset errors

* updated readme

* updated readme

* added breaking note to readme

* added custom checks support

* implemented custom profiles

* fixed linting

* added options order_fields and infer_fields

* fixed extra_header

* added comments

* updated spec

* renamed unordered_headers to non_matching_header

* renamed col-number to column-number

* min

* updated added dataset errors to readme

* splitted error and check concpets

* fixed linting

* min

* fixed readme

* updated readme

* updated readme

* fixed readme

* fixed readme

* added guard assertion to checks

* updated custom checks API

* fixed linting, readme

* fixed linting, readme

* updated readme

* updated readme

* typo

* moved table errors to Inspector, deleted checks

* added ability to profilies to return errors

* fixed head checks not columns break

* rebased check on in-place erorrs update

* rebased profiles on in-place errors

* fixed readme

* fixed readme

* fixed readme

* fixed readme

* fixed readme

* no extra-header error if infer_fields is True

* implemented proper non-matching-header without ordering

* added custom_profiles, custom_checks arguments instead of global
registry

* moved default args to signatures

* removed make release (use github releases instead!)

* added return code to cli

* improved cli error formatting

* improved error messages, tests

* updated examples

* added custom examples

* added inspector tests

* added limit tests

* fixed tests

* fixed spec link

* added checks options to cli

* fixed profiles

* added description to setup

* added entry_points, keywords

* moved ckan profile to examples

* removed report from spec

* updated version to v1

* updated install instruction for now

* Fixed jsontableschema-error message (#133)

* Rebased on granular tabulator exceptions (#115)

* updated dependencies

* rebases on new tabulator exceptions

* Renamed profile to preset with simplified API (#124)

* renamed profile to preset

* removed errors, tables arguments from preset

* Added infer_schema option, updated preset API (#128)

* minor improvements

* added infer_schema option false by default

* Added support for schema constraints (#55)

* updated jsontableschema version

* implemented all constraints except unique

* implemented unique constraint check

* updated to jsontableschema-v0.8.2

* fixed linting

* Added tables preset (#125)

* added tables preset

* fixed linting

* added tables test

* Implemented order_fields option (#123)

* fixed column producing for body context

* removed column from schema checks only if name slugs are different

* implemented order_fields algo

* improved comments

* Rebased on external spec (#131)

Rebased on external spec

* Improved tests (#127)

* added prev version data examples

* implemented feature tests

* moved files to data

* updated verson

* added features

* marked spec test as xfail

* Rebased on spec-v1.0.0-alpha1 (#131)

* updated spec, added spec to API

* added config with checks order

* rebased in inspector on updated spec

* updated @check API

* rebased on spec message templates

* fixed cutom checks

* fixed linting

* Updated readme note
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants