thoughtspot / cs_tools

Scale your ThoughtSpot adoption with tools created by the ThoughtSpot Solutions Consulting organization.
https://thoughtspot.github.io/cs_tools/
Other
9 stars 6 forks source link

Wrong package name user-management #36

Closed afranzi closed 1 year ago

afranzi commented 2 years ago

First Stop

Platform Configuration


Example Command


Description

The user-management package has a - instead of a _ so it cannot be imported properly.

Could be possible to follow PEP8 conventions on the package names?

Thank you! :)

boonhapus commented 2 years ago

@afranzi this is an intentional design decision -- the tools are meant to be standalone, mini programs, essentially. Our target audience for this library aren't developers, but ThoughtSpot admins / consumers of the data itself. Many design decisions have been made with this kept in mind. I've considered adding ADRs to this repository to help communicate some of those decisions.

I'm curious again, what you're hoping to achieve? 😄 I'd like to help, but want to guide you appropriately for the situation.

afranzi commented 2 years ago

We are automatizing the user & group provisioning since some of our teams have some kind of dynamic nature. So we would like to remove any manual work.

boonhapus commented 2 years ago

What's the general process you'd envision for automating user/group provisioning?

Depending on what your process looks like, you might be better off interacting directly with the ThoughtSpot User/sync API itself.

We have an interface to the tools themselves. I feel this will not be simple to implement though, since the tools are meant to be interacted with on the command line. It might be better offer simulating interaction with them using subprocess and parameterizing that...

Something like this should help if you want to write code directly against the tools.

from cs_tools.const import TOOLS_DIR
from cs_tools.cli.loader import CSTool

def main():
    user_mgmt = CSTools(TOOLS_DIR / "user-management")
    # do stuff with the tool..

if __name__ == "__main__":
    raise SystemExit(main())
boonhapus commented 1 year ago

This is resolved as part of V1.4.0 . Check the release notes to learn more.

https://thoughtspot.github.io/cs_tools/changelog/1.4.0