For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

Backtrader maintenance



  • Greetings,

    Thank you @backtrader and others who contributed in creating an amazing library and for making it an open source. Very much appreciated. I am newbie. I am just getting started with it and I am excited.

    I don't see much code commits since last two/three years. I wonder if anyone working on new features and/or bug fixes. My intention is to use it for live with Interactive brokers. I guess it needs ongoing changes/work in Backtrader to keep up with Interactive brokers APIs. I wonder if it pretty stable for live use with Interactive brokers.

    Please advise. Many thanks in advance.



  • Little bit of vision from developer -
    https://community.backtrader.com/topic/376/eodevelopment-1-x



  • @KP-T said in Backtrader maintenance:

    I guess it needs ongoing changes/work in Backtrader to keep up with Interactive brokers APIs.

    bt doesn't use it, it uses ibPY library.

    @KP-T said in Backtrader maintenance:

    I wonder if it pretty stable for live use with Interactive brokers.

    search the forum, it was number of discussions related to ib.



  • Allow me to join the question about the ongoing maintenance and bug fixing.

    I understand the intention of EOD for 1.x version:

    • all the planned features were completed
    • the goal is to keep the system as feature stable as possible, at least the core (Cerebro engine)

    However the question remains about bug fixes PRs and Issue Tracking:

    • The bugs are inevitable even in most stable software - and we know there are few of them both in core components as well as in peripheral classes (stores, feeds, etc. - although probably not critical ones). So why the 'Issues' support was disabled ?

    • The same for PR. There are currently 12 PRs pending and nobody beside the administrator (@backtrader ) could approve them. However those PRs are not reviewed and near zero communication is taking place there. ( There are also some very weird comments on some of them, talking about some copyright issues )

    • There are other related questions about extensions contribution format, avoiding repository fragmentation in various forks, testing automation (or CI probably) - but I would keep those for better times.

    The Backtrader is a fantastic piece of software and IMHO may benefit from contributions of ever growing community.

    Would very appreciate if someone from old-timers here on forum could shed some light on those issues.



  • I am not an owner and/or developer, but this was discussed several times. Owner/developer considers the product completed, and doesn't see the reason in constant improving of it. I don't think that he supports the concept of endless improving in this case, which is widely used in other areas. I assume this is not his single project and he decided to spend his time in different way.

    He shared bt with us, nothing prevents any person from making a copy of the source and maintain it. However, I don't see the line of candidates.

    @vladisld said in Backtrader maintenance:

    So why the 'Issues' support was disabled ?

    Users push into the issues everything, but not the issues. Therefore this community was open.

    @vladisld said in Backtrader maintenance:

    The same for PR. There are currently 12 PRs pending and nobody beside the administrator (@backtrader ) could approve them. However those PRs are not reviewed and near zero communication is taking place there. ( There are also some very weird comments on some of them, talking about some copyright issues )

    There are other related questions about extensions contribution format, avoiding repository fragmentation in various forks, testing automation (or CI probably) - but I would keep those for better times.

    Based on my observations @backtrader was not in a hurry to include in bt repository pieces of somebody's scripts. He did it long time ago, but stopped. He was gathering the links to other developers scripts in here Backtrader receipes.



  • @ab_trader said in Backtrader maintenance:
    Appreciate your response @ab_trader. Still I'd like to continue this debate if you don't mind:

    this was discussed several times

    Yea, I read all those posts, but still can't understand the logic.

    @ab_trader said in Backtrader maintenance:

    doesn't see the reason in constant improving of it

    There are few kind of improvements - those that could be stopped and those that should not be:

    • adding new features/functionality/components

    there is no problem with stopping development here - it's even required in order to keep the release stable. I agree that 'Backtrader recipes' is a good way of handling it - thumbs up.

    • improving the performance/memory consumption/other metrics of existing components/features

    still, although questionable, the development here could be frozen for particular release for stability/risk management/cost/effort reasons.

    • fixing the broken functionality (bugs), compatibility fixes for external API changes (like Yahoo API changes recently):

    Not doing it is bad. Both for the external perception of the project (abandon-ware) as well as for the end users expecting the currently existing functionality to work (even if user's scenarios were not expected nor tested). It is not realistic nor even possible to use the same approach as in 'Backtrader recipes' here: you can't just say some bugs are fixed in this fork, others in that fork and still others in yet another fork, right ? Bugs should be fixed in official released packages for easy user consumption.

    @ab_trader said in Backtrader maintenance:

    Users push into the issues everything, but not the issue

    There are solutions for that. Take a look for example how the TWS API repository is maintained. There is a separate list of subscribers for the forum (https://groups.io/g/twsapi) where both regular users and contributors are participating, and a completely separate list for the repository itself (https://github.com/InteractiveBrokers/tws-api) used for contributors and enthusiasts.



  • I have no problems with the debates, but to not go to 2nd (then 3rd etc) rounds first just try to understand - owner/developer decided that bt is good enough as is, and switched to another projects/quit with developing/went to Hawaii for retirement. We can agree, disagree, but this happened.

    @vladisld said in Backtrader maintenance:

    Yea, I read all those posts, but still can't understand the logic.

    Logic is simple. Lets get from the general discussion to particular situation. Seems you want bt to be maintained, bugs fixed, additional stuff added, improvements rolling continuously etc. Ok, what prevents you from making a copy of the bt repository and doing all that stuff?

    @vladisld said in Backtrader maintenance:

    There are solutions for that. Take a look for example how the TWS API repository is maintained.

    There was a single person in development, lets not compare it with Interactive Brokers. Two different sizes.



  • Once again appreciate your response @ab_trader

    @ab_trader said in Backtrader maintenance:

    Seems you want bt to be maintained, bugs fixed, additional stuff added, improvements rolling continuously etc. Ok, what prevents you from making a copy of the bt repository and doing all that stuff?

    The problem is not with me or any other single developer - there are already quite a few bug fixes in different forks (including my humble fork) - the problem is that there are more than one such developer. It means more bug fixes are scattered around different forks, meaning that Backtrader is de-facto becoming fragmented - which less than ideal.

    It is better IMHO to have a central repository - already established, well known and respected - and have more than a single developer with a right to approve the PRs (even if just for proven bug fixes only - no new features). There was an proposal in the past to come up with different repository - is it less preferred in my opinion.

    May we ask/suggest @backtrader to select a group of willing to contribute and give them a right to approve the PRs ? (it should of cause come with clear quality requirements for PR approvals, like having a tests supplied and passing some automated quality gates for example, proper release scheduling, etc - can be discussed).

    I like the platform very much, I'm benefiting from it and wish it to prosper, be less frustrating to use for regular users (not to be bumped with already fixed issues)



  • @vladisld said in Backtrader maintenance:

    The problem is not with me or any other single developer

    Take a lead, gather all of that guys under the same repo, if somebody doesn't want to participate - copy their bug fixes into your repo.



  • @vladisld said in Backtrader maintenance:

    May we ask/suggest @backtrader to select a group of willing to contribute and give them a right to approve the PRs ?

    Sure you can. Maybe he will answer or just give you a link to that discussions on the forum.



  • @vladisld said in Backtrader maintenance:

    There was an proposal in the past to come up with different repository - is it less preferred in my opinion.

    This is because you still believe that @backtrader will continue development. :) skip this thoughts and you will see that new repository for bt-2.0 can be the only option. In case if somebody really wants development.



  • I agree the situation is not ideal. But I totally respect that people move on and don't enjoy maintaining projects forever. So yeah, the usual flow of things is that someone steps up willing to either get commit rights to the official repo or establish a fork which is considered as a new "official" repo (bt-next? bt-ng anyone?) :)



  • @vbs said in Backtrader maintenance:

    So yeah, the usual flow of things is that someone steps up willing to either get commit rights to the official repo or establish a fork which is considered as a new "official" repo

    Fully agree. The only problem is that there seems to be no single person, beside the author, having a complete understanding of each and every corner of the platform - but I believe many developers have some understanding of some parts - so summing the effort, we can at least maintain and do some bug fixing releases.

    I'm in - but need more volunteers.

    IMHO, getting a commit rights to the official repo is preferable. Maintaining a fork is less ideal and will introduce unnecessary confusion.



  • I'm not a good enough coder to be the lead, but i'm definitely in to support fixes etc. DR has done an amazing job, I thank him every day. I would really only like to do this with his blessing if possible.



  • Nobody was born as a good coder or a good lead. Just run it if you have time and desire. Nothing bad will happen.

    I doubt that any blessing will be obtained from @backtrader, but we can wait for another year. :)



  • Am I understanding correctly that there is a consensus ( @ab_trader , @run-out , @vbs ) to come up with a separate fork (we should probably integrate it back to the official one in case the "blessing" from @backtrader will be obtained ).



  • @vladisld I would be prepared to contribute a decent amount of time to this.



  • I can help here and there, also can contribute what I've developed for backtrader_addons. I am not a software developer, and not python-ish.



  • @ab_trader Thanks ab_trader. Your support is also critical too! I guess the reason I was saying with DR's blessing is because well, he wrote the damn thing, but also the existing code and domain is in his hands. For example, things like the URL and documention, would he be open to transitioning? I have no idea. It's these kind of things that would make a future backtrader more likely to succeed.

    @backtrader If some of the users and contributers here were to try to create an active future for backtrader as a separate fork, what would your thoughts be about that?



  • The code is on the github, any person can make a fork and start development.

    Domain should be new one, all existing info is owned by @backtrader. IMHO for now domain is not necessary. Post updates here, github has wiki.


Log in to reply
 

});