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

Discuss how to manage common utility functions #51

Open
mdickinson opened this issue Oct 23, 2020 · 1 comment
Open

Discuss how to manage common utility functions #51

mdickinson opened this issue Oct 23, 2020 · 1 comment

Comments

@mdickinson
Copy link
Member

This discussion is broken out of enthought/traits#1239. That issue started out as a specific proposal to add the non-Traits-related utility functions xgetattr and xsetattr to traits.api, and turned into a more general discussion. We should continue that more general discussion here.

Summary: at issue is where to put functionality representing common non-package-specific tasks found across ETS and ETS-using projects. Apart from xgetattr and xsetattr, examples include time and timezone handling, slugification of strings, and common testing utilities.

See enthought/traits#1239 for previous discussion on the topic.

@corranwebster
Copy link
Contributor

At one time the thought was that encore would be a place for that, but the project was too unfocused. In retrospect, I would prefer a handful of more focused and smaller projects.

In terms of things that should be there, I'd add (human_date)[https://github.com/enthought/encore/blob/master/encore/util/human_date.py] (unless that or something equivalent is now in PyPI), import_symbol (duplicated in a few places in ETS), code for converting Python identifiers to/from "human friendly" versions, a decent generic topological sort implementation. Probably a lot of stuff from traits.utils and traits.trait_base.

I don't think ets_config belongs in the same place, it's really application support code, and so it should go in a library with that sort of focus. Similarly for some of the "resource" code.

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

No branches or pull requests

2 participants