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

Create v0 and experimental namespace for python #603

Merged
merged 10 commits into from
Nov 3, 2019

Conversation

yongtang
Copy link
Member

@yongtang yongtang commented Nov 2, 2019

This PR is part of the effort to clean up the namespace
for python. Quite a few files have been changed but the only real
changes are:

  1. Created a namespace of tfio.experimental for future usage
  2. Created a namespace of tfio.v0 to indicate the current release namespace
  3. Alias all tfio.v0 namespace to tfio, so that no end user impact.
    For example, tfio.IODataset.from_audio is an alias of tfio.v0.IODataset.from_audio
    and could be used concurrently.
  4. Move LibSVM to tfio.experimental.IODataset.from_libsvm and tfio.experimental.text.decode_libsvm, to setup an initial example.

Overall, this is a poor man's version of API namespace management (compared to core tensorflow's API namespace management).

Below are the output of APIs. As we could see API namespace has been much cleaned up:

# TFIO_DATAPATH=bazel-bin python
Python 2.7.12 (default, Oct  8 2019, 14:14:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow_io as tfio
>>> dir(tfio)
['IODataset', 'IOStreamDataset', 'IOTensor', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', 'core', 'experimental', 'v0', 'version']
>>> dir(tfio.version)
['VERSION', '__builtins__', '__doc__', '__file__', '__name__', '__package__']
>>> tfio.__version__
'0.10.0'
>>> dir(tfio.v0)
['IODataset', 'IOStreamDataset', 'IOTensor', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
>>> dir(tfio.experimental)
['IODataset', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'text']
>>> dir(tfio.experimental.text)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'decode_libsvm']
>>> 

This PR is part of the discussion in #553.

Signed-off-by: Yong Tang yong.tang.github@outlook.com

This PR is part of the effort to clean up the namespace
for python. Quite a few files have been changed but the only real
changes are:
1) Created a namespace of `tfio.experimental` for future usage
2) Created a namespace of `tfio.v0` to indicate the current release namespace
3) Alias all `tfio.v0` namespace to `tfio`, so that no end user impact.
   For example, tfio.IODataset.from_audio is an alias of tfio.v0.IODataset.from_audio
   and could be used concurrently.

This PR is part of the discussion in 553.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
…t.from_prometheus instead)

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
…instead)

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
…ntal.IODataset.from_libsvm

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
@yongtang yongtang marked this pull request as ready for review November 3, 2019 03:28
@yongtang
Copy link
Member Author

yongtang commented Nov 3, 2019

@terrytangyuan @BryanCutler This PR is ready for review. Would you mind taking a look and see if the api namespace layout makes sense?

Copy link
Member

@terrytangyuan terrytangyuan left a comment

Choose a reason for hiding this comment

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

Looks great!

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
@yongtang yongtang merged commit 189fd73 into tensorflow:master Nov 3, 2019
@yongtang yongtang deleted the v0 branch November 3, 2019 19:17
@BryanCutler
Copy link
Member

SGTM!

i-ony pushed a commit to i-ony/io that referenced this pull request Feb 8, 2021
* Create v0 and experimental namespace for python

This PR is part of the effort to clean up the namespace
for python. Quite a few files have been changed but the only real
changes are:
1) Created a namespace of `tfio.experimental` for future usage
2) Created a namespace of `tfio.v0` to indicate the current release namespace
3) Alias all `tfio.v0` namespace to `tfio`, so that no end user impact.
   For example, tfio.IODataset.from_audio is an alias of tfio.v0.IODataset.from_audio
   and could be used concurrently.

This PR is part of the discussion in 553.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Fix several breaks

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Move prometheus to core to free up tfio.prometheus (use tfio.IODataset.from_prometheus instead)

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Move pcap to core to free up tfio.pcap (use tfio.IODataset.from_pcap instead)

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Fix issue

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Remap

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Move libsvm to tfio.experimental.text.decode_libsvm and tfio.experimental.IODataset.from_libsvm

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Fix version string

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update to remove unneeded prefix

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Fix typo in test

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
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.

None yet

3 participants