-
Notifications
You must be signed in to change notification settings - Fork 828
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
Drop Unidecode Dependency #1208
Comments
@AlecRosenbaum I think it's important that the functionality stays the same but I'm open to dropping the dependency. If you can create a PR to remove unidecode but keep the tests passing then I'll happily merge. |
I'm not sure it's possible to maintain this specific test case without large lookup tables, which is what unidecode is from what I can tell. But that's kind of the point I'm raising here -- it doesn't make sense to me to include large unicode lookup tables to make a one-line utility function only used downstream in graphene/graphene/utils/tests/test_str_converters.py Lines 26 to 27 in 9a19447
It would be possible to make it not error and produce a name that's valid according to print(
re.sub(
r"[\W|^]+", "_",
"Skoða þetta unicode stöff".encode('ascii', errors='ignore').decode('utf8')
).upper()
)
# 'SKOA_ETTA_UNICODE_STFF' |
@AlecRosenbaum I see what you mean now and I agree, it makes sense to move the unidecode dependency downstream to the graphene-django repo. |
Created a PR in Graphene-Django to move the |
Related: #1079
PR #1080 (which fixes the above linked issue) added a new dependency to this project,
Unidecode
.I'd like to suggest dropping this dependency, and possibly removing this utility function.
From what I can tell the
to_const
utility is not actually used in this library at all, and just from spot checking seems to only be used bygraphene-django
. The linked issue specifically uses agraphene-django
example. If this is only used upstream in one spot, it might be worth moving the utility + dependency there instead.It's possible the average use case also involves
graphene-djagno
and would require this dependency regardless, but for those that don't it would be nice not to requireunidecode
for a single-line utility function that may or may not be used.While neither package is huge,
unidecode
is a few times larger thangraphene
according to pypi's downloads.Depending on what the best option forward here is, I am happy to submit a PR that either:
to_const
function + dropsunidecode
unidecode
an optional dependency specified byextras_require: { 'unidecode': "unidecode>=1.1.1,<2", ... }
str(string, errors="ignore")
+ dropsunidecode
The text was updated successfully, but these errors were encountered: