Change package name from "transformers" to something less generic
### Feature request

I'm repeatedly finding myself in situations where I want to have a package called `datasets.py` or `evaluate.py` in my code and can't because those names are being taken up by Huggingface packages. While I can understand how (even from the user's perspective) it's aesthetically pleasing to have nice terse library names, ultimately a library hogging simple names like this is something I find short-sighted, impractical and at my most irritable, frankly rude.

My preference would be a pattern like what you get with all the other big libraries like numpy or pandas:

```
import huggingface as hf
# hf.transformers, hf.datasets, hf.evaluate
```

or things like

```
import huggingface.transformers as tf
# tf.load_model(), etc
```

If this isn't possible for some technical reason, at least just call the packages something like `hf_transformers` and so on.

I realize this is a very big change that's probably been discussed internally already, but I'm making this issue and sister issues on each huggingface project just to start the conversation and begin tracking community feeling on the matter, since I suspect I'm not the only one who feels like this.

Sorry if this has been requested already on this issue tracker, I couldn't find anything looking for terms like "package name".

Sister issues:
- **transformers**
- [datasets](https://github.com/huggingface/datasets/issues/6053)
- [evaluate](https://github.com/huggingface/evaluate/issues/476)

### Motivation

Not taking up package names the user is likely to want to use.

### Your contribution

No - more a matter of internal discussion among core library authors.
You do realize this would break the existing code of many many people?<|||||>Yes

My theory/suggestion is that HF is still a relatively young library used by a relatively niche community used to having to move in a rapidly developing field (we're not talking about the C standard lib or something), that a lot of people likely feel this way, and that if this change were implemented it would be looked back on as a good decision ten years later (not as if we're new to breaking changes in the Python community - hell even HF has pushed breaking changes before)<|||||>That kind of stuff would be hell for projects like ours, we have many low level patches in place to extend HF.<|||||>Hello there.
Would like to share some mental models about this

_General TLTR ; No, because for now, the libraries are consistent and helpful in becoming the standard ._

The following comments have sections
  * Impact 
  **TLTR;** _17M monthly downloads, 1700 monthly MAUs, +100K repositories impact_
 Q : can I help you brainstorm other names -syntactically and semantically aligned- that could help solve your problem?
  * Considerations in the matter
   **TLTR;** _Other standard names are also taken._
_Balancing Makers and Takers  to scale and sustain Open Source is a line of thought to take into account_ 
Q : would it be worthy to think deeply about the trade-off that the libraries are giving with respect to what they are taking ? Can I help you brainstorm the utilities you put on **evaluate.py** and **datasets.py** on your code and submit a contribution so we can encapsulate your needs to all coders and avoid frustration?
  * Responsibility when becoming the standard
**TLTR;** _Motivation of owners might be becoming the standard. They seem worried about that responsibility in many dimensions._
Q : do you think we shall consider this dimension into account for this matter? 
  * Bibliography and Openness 


### Impact 


**TLTR;** _17M monthly downloads, 1700 monthly MAUs, +100K repositories impact_
**Hypothesis limitations**: _this data could change with other insights about MAUs funnel conversion and maintained active repositories + private repositories. Total MAUs have not being calculated due to incomplete information that would made data-driven conclusions too intuitive_


In order to gain some data-driven perspective about the impact of this change, what I did is check-in the downloads coming from [PyPI](https://pypistats.org/) from the 3 libraries and make a sum of the last month's downloads, giving an overall sum of 17M-ish  . I'm assuming that there is a _clear funnel_ here that separates users that are newcomers, explorers, and MAUs ( Monthly Active Users ). My analysis took me to focus on these last ones, as they are using the code regularly or might be the ones that might be using the libraries in a production scenario or in a work dependent project. Taking out 4 orders of magnitude - in a pessimistic overview - the hypothesis takes us to new 1700 montly-MAUs

<img width="1153" alt="Captura de pantalla 2023-07-27 a las 12 47 21" src="https://github.com/huggingface/transformers/assets/24204714/74b1fce6-3eec-471b-a204-77e5a804dd79">

<img width="1117" alt="Captura de pantalla 2023-07-27 a las 12 48 20" src="https://github.com/huggingface/transformers/assets/24204714/424d490d-7b22-4965-a32f-575e712f37d9">

<img width="1105" alt="Captura de pantalla 2023-07-27 a las 12 47 50" src="https://github.com/huggingface/transformers/assets/24204714/1d699b9b-c26e-4ade-a7c1-3582f8c61cbb">


Therefore, the data-driven impact exploration took me to **used-by**  reporting in the head page of the repository, as the impact of a number of repositories that depend on the libraries. Transformers library has been reported to be used by 84,4 K people, datasets by 20,4 k people, and datasets by 2.9 k people. This gave a total of +100K repositories this change could have impact in . 

Hypothesis limitations: this data could change with other insights about MAUs funnel conversion and maintained active repositories + private repositories. 

_Before going further, and I guess this is a question directly for @geajack , can I help you brainstorm other names  - syntactically and semantically aligned - that could help solve your problem?_ 


### Considerations in the matter

**TLTR;** _Other standard names are also taken._
_Balancing Makers and Takers  to scale and sustain Open Source is a line of thought to take into account_ 

What I understood from the issue is that the generalization of the package name supposed an interference and a cognitive dissonance WRT the naming standard with respect to other libraries. Then I went to `check-availability` package to see if **other standard names** could solve your problem - tried dataset and evaluation - and none were available. 

```
check-availability pypi dataset --verbose 3
GET https://pypi.org/project/dataset
Got status code 200
The name dataset is not available on pypi
```
```
GET https://pypi.org/project/evaluation
Got status code 200
The name evaluation is not available on pypi
```
I really -really- tried to benchmark your motivations with Open Source Research insights [1](https://arxiv.org/pdf/2101.10291.pdf) [2](https://arxiv.org/pdf/2306.05548.pdf) [3](https://openaccess.city.ac.uk/id/eprint/5955/1/ContentServer_%281%29.pdf) to try to have an _empathetic generalistic view about this concern ._  Still maturing it, but what Im taking is that you might encounter beneficial and aligned with some Open Source ideas(yet to be proven representative) that generalistic **names** are not proprietary, beyond your individual code problem. 

  However, I invite you to go deeper into motivations behind Open Source, as there seem to be equally important motivations that contributors and users are driven by. Encourage you to please share with me mature ideas that might not be aligned with my mental model. If we can go beyond one individual, and try to catch a community o a more general mental model, that would be amazing. 

On the other hand, putting myself in Hugginface's shoes, I couldn´t stop thinking broadly about their Open Source sustainability contribution with respect to other companies and proprietary software. Really recommend this [reading](https://dri.es/balancing-makers-and-takers-to-scale-and-sustain-open-source)!


_Before going further , and I guess these is a question for @geajack , would it be worthy to think deeply about the trade-off that the libraries are giving with respect to what they are taking ? Can I help you brainstorm the utilities you put on evaluate.py and datasets.py on your code and submit a contribution so we can encapsulate your needs to all coders and avoid frustration?_ 

### Responsibility when becoming the standard

**TLTR;** _Motivation of owners might be becoming the standard. They seem worried about that responsibility in many dimensions._

It might be fair to think that that **naming** in this case might entail the search for becoming the standard, and I left to the reader to analyze whether the owners of the libraries are being responsible or not with respect to their Open Source duties for being recognized as such beyond the naming in order to analyze coherence. On my side, the trust level system and contributor management , together with the pro-active response with respect to other Open Source responsibilities, talk by itself. This doesn´t entail that they should have a present and future concern on this matter. 

I guess this is a question for @geajack , do you think we shall consider this dimension into account for this matter? 

### Bibliography and Openess 

Beyond the cited readings, I really recommend this [book](https://www.amazon.com/Perspectives-Free-Source-Software-Press/dp/0262562278) . 

I m acknowledging that this response might be dense, so I would like to thank the reader, the owner of this issue, the contributors, and the maintainer for going through this material. As an emotional openness exercise and following the bravery of @geajack , I must confess It has taken me a significant amount of **courage** to press Comment on this one. 
I just hope that this can glimpse another logical perspective, new possible paths coming from questions, and other thoughts that might be mutable due to new shreds of evidence. 




<|||||>@SoyGema thanks for the detailed breakdown. First of all I just want to say that I don't intend to present myself as some kind of sponsor for these issues - I just want there to be a place in the issue tracker for people to voice this concern if it is indeed a common concern.

I do think you may have misunderstood the issue at a couple of points, though. In your second section, it sounds like you think the complaint is that because HF is taking up `evaluate` on PyPi, that therefore I or somebody else can't have our own package on PyPi. That isn't the issue - the issue is that if I want to use HF's `evaluate` locally, I can't have my own *local* `evaluate.py`.

My most recent use-case for this was wanting a script called `evaluate.py` that I would actually run from the command line to run evaluation of my results - I had to change it to something more awkward like `evaluation.py`, which is annoying because it is after all a command and should ideally have the form of an imperative verb. I also routinely have a package called in my codebases to provide utility functions for managing my own datasets. As it happens, I've always called that package `data`, but I could imagine another programmer wanting to call it `datasets` and being annoyed that they can't.

I'm not under the impression that this is a change that can be made tomorrow or even this year. When I opened these issues I pictured them (assuming they didn't just get buried) being the kinds of issues that sit open for years and years accumulating hundreds of comments, acting as an informal community forum before anything is done about them. The only place on the internet I could find someone expressing a similar sentiment was [this highly upvoted /r/Python comment](https://old.reddit.com/r/Python/comments/xeoyqc/how_did_hugging_face_get_such_good_pypi_package/ioi5ud5/), but I suspect a fair few people feel this way.<|||||>Hey @geajack thanks for your response and for the clarification. Thanks also for the reddit link, that wasn't on my radar until now. As feedback , if you could share a line with the motivations and links behind this issue when opened that would be great!🙂

I'm happy that you already have a turn around for this . Yes, you are correct. I thought that this was beyond a local use of a script and more library oriented due to the impact of the change and my normal sparks under 'annoying' naming scenario.
I agree with your impression, and let's see what time brings 🙂
