pytan icon indicating copy to clipboard operation
pytan copied to clipboard

Added support for Python 3 (Only 3.6+ tested) while maintaining 2.7+

Open c1rdan opened this issue 7 years ago • 12 comments

I required support for Python 3, so I modified the code for it. I don't really have the possibility to properly test everything, but I have confirmed all unit tests are passing on 2.7, 3.6 and 3.7 and I'm already using this code against a proper Tanium instance successfully.

c1rdan avatar Oct 25 '18 13:10 c1rdan

I'd like to learn how to get this merged, or how to move the puck forward.

punkrokk avatar Dec 04 '18 04:12 punkrokk

Hi punkrokk, Tanium team need to do the merge and apparently they don't pay a lot of attention to github... You can try to use my repository directly on the meanwhile.

c1rdan avatar Dec 04 '18 14:12 c1rdan

Hi people. This fork, while interesting and useful, isn't something I have time to validate. I'm very hard at work on a complete rewrite of pytan which will provide many things. Not only python 2 and 3 support, but also platform support for 7.2 / 7.3, and support of both REST (available in 7.3) and SOAP API's. amongst many many other things. For me to step back and fully test and validate this fork before merging it into master would take me away from the work on pytan 3.

gluemaker avatar Dec 04 '18 14:12 gluemaker

Thanks for the response Jim, and it's good knowing PyTan is alive :) Is there any ETA for the new version?

c1rdan avatar Dec 04 '18 14:12 c1rdan

I plan on releasing it in multiple steps as follows:

  • 3.0: just the object encapsulation, serialization, and deserialization (no workflows nor command lines) - was planned for release on 11/1/18, but I've pushed it back in order to add full support for the REST API.
  • 3.1: add workflows - original ETA was 1/1/19, but looking more and more like 2/1/19 now
  • 3.2: add command line wrappers around workflows - easiest part of the whole thing, but also pushed back from 2/1/19 to .. ?

gluemaker avatar Dec 04 '18 15:12 gluemaker

Good to hear. For me it’s about if py3 support will show up before py2 is deprecated. Thanks!

Cheers,

JP

On Dec 4, 2018, at 10:00 AM, Jim Olsen [email protected] wrote:

I plan on releasing it in multiple steps as follows:

3.0: just the object encapsulation, serialization, and deserialization (no workflows nor command lines) - was planned for release on 11/1/18, but I've pushed it back in order to add full support for the REST API. 3.1: add workflows - original ETA was 1/1/19, but looking more and more like 2/1/19 now 3.2: add command line wrappers around workflows - easiest part of the whole thing, but also pushed back from 2/1/19 to .. ? — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

punkrokk avatar Dec 04 '18 15:12 punkrokk

@lifehackjim I hate to bug ya, but could you spare a few minutes to give us an update? I've been having a nightmare of a time trying to figure out how to interact w/ Tanium via Python3 and just found this branch/PR, which led to your news about the upcoming version w/ Python3 and REST API support.

That's exciting news, but I'm guessing the timeline got bumped again since 2/1 is just a few days away and pytan 3.0 isn't up yet.

Thanks!

deathbywedgie avatar Jan 29 '19 22:01 deathbywedgie

Things have been difficult for a number of reasons:

  • I had to incorporate SSL validation into the fundamentals of pytan 3, which required re-working a number of core concepts of the newly re-written pytan model. (which led to me creating yet another package: https://github.com/lifehackjim/cert_human )
  • I initially was going to release pytan 3 in stages, but the main problem with that is more than 70% of the pytan user base relies on the command line for all of their workflows. Making the portioned out releases virtually useless.
  • Supporting both REST and SOAP API calls in one unified interface has proven to be quite a bit more difficult than I'd initially estimated. This is perhaps the biggest time vacuum out of all of the above.

All that being said, on 2/6/19 I am going to be handing what I have of pytan 3 over to the internal security review team, and after that has passed inspection I will be publishing it. The workflow encapsulation is going to be nowhere near what pytan 2.x has, but that will come in many updates after the initial base release.

gluemaker avatar Jan 29 '19 22:01 gluemaker

Thanks for the quick response! Have you considered creating a whole other package/repo for the new version, though? I wonder if it might make life easier for you to create a "pytan3" package so users aren't messed up if they update all packages or reinstall or something without knowing better. Just a thought.

Either way, thanks for the hard work, and I look forward to its release!

deathbywedgie avatar Jan 30 '19 00:01 deathbywedgie

That is exactly what I am doing. I have an entirely different repo named pytan3, but it is only internally available until the security review is done. Checks and balances ya know :)

I'll be publishing the package as pytan3 on pypi as well, once it's out and about.

gluemaker avatar Jan 30 '19 00:01 gluemaker

Ey @lifehackjim, Is there any update on the new release?

c1rdan avatar Feb 18 '19 12:02 c1rdan

Yeah. I'm going to push out a release at some point this week, it will be at a different repo: https://github.com/tanium/pytan3, with a different package name "pytan3". It's still got a lot of work to go but i'm going to get what I have out the door.

gluemaker avatar Feb 18 '19 12:02 gluemaker