I have participated in hacktoberfest for the third time now. This time I was officially participating as a contributor and a maintainer.
Great thing is, each year I can see more contribution activity in my repositories and some PRs surprise me a lot!
As a contributor
As a contributor I opened 4 pull requests in those repos:
Opsdroid
This has already become my tradition to contribute to opsdroid each year, this is an amazing framework for creating bots for any platform.
This time I helped them migrate to aioredis 2.0 (and then used the experience I've got to do the same in my own project), and to set up proper docker images builds:
https://github.com/opsdroid/opsdroid/pull/1835
https://github.com/opsdroid/opsdroid/pull/1836
Fastkml
Fastkml is a library to read, write and manipulate KML files
Here I helped to drop python 2 support as it is EOL now, as well as to help them migrate to pygeoif
1.0 and many intermediate fixes. I learned how the python 2 -> python 3 migrations were actually done (lib2to3
+pyupgrade --py36-plus
+manual fixes)
https://github.com/cleder/fastkml/pull/135
https://github.com/cleder/fastkml/pull/136
There were a few more PRs, some were to my own repos, so that doesn't count.
As a maintainer
This time the contribution activity has increased. Some PRs were just of amazing quality!
Our bitcart-store
repository has received the most of PRs.
MaximeKoitsalu
has helped us to migrate all styles from stylus to sass (to make it themeable later):
https://github.com/bitcartcc/bitcart-store/pull/321
leovoon
has helped us to reach 100% accessibility score in lighthouse, which is very important to every solid web project:
https://github.com/bitcartcc/bitcart-store/pull/326
shubham-singh-748
has added Hindi translation to bitcart-site
:
https://github.com/bitcartcc/bitcart-site/pull/87
The PR of the month, Xaconi
has added a nice well-animated, responsive cart sidebar to the store:
https://github.com/bitcartcc/bitcart-store/pull/325
For now I've got only 4 pull requests from contributors, but that's already amazing!
If you want to contribute, feel free to do so, any repositories in bitcartcc github organization are open:
BitcartCC
BitcartCC is a platform for merchants, users and developers which offers easy setup and use.
Linked repositories
Our ecosystem consists of a few packages, this is our central repository.
It is recommended to propose feature requests to BitcartCC ecosystem as a whole on that repository.
Full list of our repositories:
https://github.com/bitcartcc/bitcart - BitcartCC Core Daemons and Merchants API
https://github.com/bitcartcc/bitcart-admin - The admin panel of BitcartCC
https://github.com/bitcartcc/bitcart-store - BitcartCC ready store
https://github.com/bitcartcc/bitcart-docker - Docker packaging, base for all deployment methods
https://github.com/bitcartcc/bitcart-sdk - Python library for coins connection
https://github.com/bitcartcc/bitccl - The BitCCL scripting language for checkout flow automation
https://github.com/bitcartcc/bitcart-docs - BitcartCC documentation
https://github.com/bitcartcc/bitcart-site - BitcartCC official site
Docs
Docs are available at https://docs.bitcartcc.com or in our docs repository
Contributing
See our contributing guidelines for details.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
…Contribute to BitcartCC this Hacktoberfest!
MrNaif2018 for BitcartCC ・ Oct 1 ・ 2 min read
By the way we need your help in refactoring our code to make our tests fully independent and upgrade to fastapi
0.70.0!
Refactor the code to initialize event loop only from async functions #247
The time has come. Python 3.10 is released which means that our old ways won't work, and new event loop would be created always.
Recently our tests got broken because of fastapi 0.69.0 release, which uses anyio. We had many issues with too many concurrent operations in progress
because of event loop mismatch, and are using some workarounds in pytest-asyncio
to make everything use same event loop:
https://github.com/bitcartcc/bitcart/blob/ac129fae929d0853137d327762ef7750537627b6/tests/conftest.py#L32-L34
https://github.com/bitcartcc/bitcart/blob/ac129fae929d0853137d327762ef7750537627b6/tests/conftest.py#L38
https://github.com/bitcartcc/bitcart/blob/ac129fae929d0853137d327762ef7750537627b6/tests/conftest.py#L44
SDK might need to be refactored as well. settings.py
should be refactored to a class, most initialization might be moved to other files, possibly Worker
class could be introduced to initialize worker.py
. Adding new scheduled tasks system could be refactored as well.
redis pool and other connections need to be created on startup from async functions, not on import. Test suite workarounds should be removed and it should just work
If everything works then we can probably remove asyncio.get_event_loop().run_until_complete
in favour of asyncio.run
Conclusion
Hacktoberfest is not done yet, and I plan to continue doing my contributions to my own and other projects as always.
This time it was better than before because pull requests were counted only if they were accepted or merged and not just if they were opened, which reduced spam greatly.
Have a happy Hacktoberfest!
Top comments (0)