Code Monkey home page Code Monkey logo

mybb_to_flarum's Introduction

mybb_to_flarum

This is a Flarum extension to migrate data from a mybb forum to a fresh flarum instance.

image admin section

What can it migrate?

In your admin panel you can choose what to migrate.

  • Users (their passwords are ALL reset and they'll have to click "Forgot password?")
  • Categories
  • Forums
  • Posts
  • Groups
  • Avatars
  • Attachments (requires fof/upload)

Installation

This extension has been tested with MyBB v1.8.* and Flarum v1.*

Execute this command in the root of your flarum installation: composer require michaelbelgium/mybb-to-flarum. Navigate to your admin panel, enable the extension and you get a new link in the admin navigation bar.

Usage

you can trigger the migration from the admin panel or the console:

> php flarum migrate-data:from-mybb

Description:
  Migrates data from an existing mybb forum

Usage:
  migrate-data:from-mybb [options]

Options:
      --host=HOST            host of the mybb database
  -u, --user=USER            user of the mybb database
  -p, --password[=PASSWORD]  password for the mybb database [default: ""]
  -d, --db=DB                name of the mybb database
      --prefix[=PREFIX]      prefix of the mybb database tables [default: "mybb_"]
      --users                Import users (excluding avatars)
      --threads-posts        Import posts (excluding soft deleted posts/threads)
      --groups               Import groups
      --categories           Import categories
      --avatars              Import avatars
      --path[=PATH]          Path to the mybb forum (required for avatar and attachment migration) [default: ""]
      --soft-posts           Import soft deleted posts
      --soft-threads         Import soft deleted threads
      --attachments          Import attachments
  -h, --help                 Display help for the given command. When no command is given display help for the list command   
  -n, --no-interaction       Do not ask any interactive question

Example commands

Migrate only users and avatars

> php flarum migrate-data:from-mybb --host=127.0.0.1 --user=homestead --password=secret --db=mybb --users --avatars --path=../mybb

Migrate everything (excluding avatars and soft deleted posts/threads)

php flarum migrate-data:from-mybb --host=127.0.0.1 --user=homestead --password=secret --db=mybb --users --groups --threads-posts

Migrate users with threads and posts including soft deleted threads but excluding soft deleted posts

php flarum migrate-data:from-mybb --host=127.0.0.1 --user=homestead --password=secret --db=mybb --users --threads-posts --soft-threads

Important notes

  • If u specify u want to migrate avatars then a path to your MyBB forum is required also.
  • Forums with a redirect hyperlink are skipped. Flarum doesn't support them (yet).
  • A guest who created a MyBB post or thread will appear as a deleted user in Flarum and not specifically a "guest".
  • The core BBcode extension should be enabled too.

mybb_to_flarum's People

Contributors

dshovchko avatar michaelbelgium avatar rob006 avatar vaalyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mybb_to_flarum's Issues

This importer is not Reliable.

Hi, How to not get stuck in between import?
I tried this importer with more than 3 pre-existing fairly large MyBB forums. But I have never been able to migrate the forum fully with this importer.

If you are interested in fixing it. I can provide logs and can help you fully with the resources I have.

Passwords not working

Hello,

I used the migrator and successfully moved posts as well as categories and users. However the passwords are not working from mybb. I cannot login even on the admin account.

UTF8 Support

Adding this
$this->getMybbConnection()->set_charset("utf8");
after line 44 in Migrator.php helps fixing incorrect import from UTF8 database.

Error: Class "mysqli" not found

Hi,

when i try migraiton, it shows "Oops! Something went wrong. Please reload the page and try again" error message. I inspect logs and saw this error message

flarum.ERROR: Error: Class "mysqli" not found in /var/www/vendor/michaelbelgium/mybb-to-flarum/src/Migrator.php:45

ReflectionException when migrate

My flarum is dockerised and when i want to use your extension i have this error on my logs:

Class michaelbelgium\mybbtoflarum\controllers\MybbToFlarumController does not exist in /flarum/app/vendor/illuminate/contai
Stack trace:
#0 /flarum/app/vendor/illuminate/container/Container.php(752): ReflectionClass->__construct('michaelbelgium\\...')
#1 /flarum/app/vendor/illuminate/container/Container.php(631): Illuminate\Container\Container->build('michaelbelgium\\...')
#2 /flarum/app/vendor/illuminate/container/Container.php(586): Illuminate\Container\Container->resolve('michaelbelgium\\...', Array)
#3 /flarum/app/vendor/flarum/core/src/Foundation/Application.php(491): Illuminate\Container\Container->make('michaelbelgium\\...', Array)
#4 /flarum/app/vendor/flarum/core/src/Http/RouteHandlerFactory.php(76): Flarum\Foundation\Application->make('michaelbelgium\\...')
#5 /flarum/app/vendor/flarum/core/src/Http/RouteHandlerFactory.php(36): Flarum\Http\RouteHandlerFactory->resolveController('michaelbelgium\\...')
#6 /flarum/app/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(67): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Zend\Diactoros\ServerRequest), Array)
#7 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\DispatchRoute->process(Object(Zend\Diactoros\ServerRequest), Object(Closure))
#8 /flarum/app/vendor/flagrow/terms/src/Middlewares/RegisterMiddleware.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#9 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flagrow\Terms\Middlewares\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigi
#10 /flarum/app/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#11 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\SetLocale->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#12 /flarum/app/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#13 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Strati
#14 /flarum/app/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(34): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#15 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Strat
#16 /flarum/app/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#17 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\RememberFromCookie->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigili
#18 /flarum/app/vendor/flarum/core/src/Http/Middleware/StartSession.php(62): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#19 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\StartSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Nex
#20 /flarum/app/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(31): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#21 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\N
#22 /flarum/app/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(29): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#23 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\ParseJsonBody->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Ne
#24 /flarum/app/vendor/flarum/core/src/Api/Middleware/HandleErrors.php(42): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#25 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Api\Middleware\HandleErrors->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next
#26 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(91): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#27 /flarum/app/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\
#28 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\RequestHandler->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Mi
#29 /flarum/app/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#30 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\BasePathRouter->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Mi
#31 /flarum/app/vendor/middlewares/base-path/src/BasePath.php(53): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#32 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\BasePath->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Middlewa
#33 /flarum/app/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#34 /flarum/app/vendor/flarum/core/src/Http/Server.php(46): Zend\HttpHandlerRunner\RequestHandlerRunner->run()
#35 /flarum/app/public/index.php(22): Flarum\Http\Server->listen()
#36 {main}

Thanks for your help

Replying on discussions with any posts throws exception

Problem: JUST AFTER you did the migration and you try to reply on a discussion which have more than 0 replies it throws an exception. The first time it won't work. The second time it does.

[2018-12-06 22:45:58] production.ERROR: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2-2' for key 'posts_discussion_id_number_unique' in /home/vagrant/flarum/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117

Cause: Initially post_number_index (in table discussions) doesn't get set in the mybb to flarum migration. It does update the value after the first try of submitting a reply.

Solution: update the field post_number_index in the migration

Trouble to import avatars

Hi,

Thank you for the script ! It worked well (apart 2/3 things).

I used this command : ./flarum migrate-data:from-mybb --host=127.0.0.1 --user=user--password='password' --db=mybb --path=/mybb/path/Upload

I had theses logs :

9653 users migrated
24 categories migrated
PHP Notice:  Undefined offset: 0 in /flarum/vendor/s9e/text-formatter/src/Plugins/BBCodes/Parser.php on line 247
4583 discussions migrated
112824 posts migrated
Migration successful``` 


But : Avatars are not imported (on web ui it works well but the script is crashing after 30 seconds so I used the command line)

Migrate private messages (again)

Needs to able to migrate pm's too again. Discussions would be set to private (is_private) and the database have to have the table "recepients".

CLI Crash : Uncaught Error: Call to a member function refreshCommentCount()

Hello,

I tried to run the script via CLI but while importing discussions the script crashed. I don't know what the cause is.

PHP Fatal error:  Uncaught Error: Call to a member function refreshCommentCount() on null in /flarum/vendor/michaelbelgium/mybb-to-flarum/src/Migrator.php:298
Stack trace:
#0 /flarum/vendor/michaelbelgium/mybb-to-flarum/src/Commands/MybbToFlarumCommand.php(97): Michaelbelgium\Mybbtoflarum\Migrator->migrateDiscussions()
#1 /flarum/vendor/flarum/core/src/Console/AbstractCommand.php(37): Michaelbelgium\Mybbtoflarum\Commands\MybbToFlarumCommand->fire()
#2 /flarum/vendor/symfony/console/Command/Command.php(298): Flarum\Console\AbstractCommand->execute()
#3 /flarum/vendor/symfony/console/Application.php(1033): Symfony\Component\Console\Command\Command->run()
#4 /flarum/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand()
#5 /flarum/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#6 /flarum/vendor/flarum/core/sr in /flarum/vendor/michaelbelgium/mybb-to-flarum/src/Migrator.php on line 298```

Make migration able to resume after erroring out

so that, one big way to add reliability to a tool like this one is to save the progress somewhere, and give the option of resuming from there.
that way even if you have trouble making it to the finish line, you don't lose all you progress.

for example, I have a big forum, and half way it breaks due to a lack of memory, that could be easily worked around by just starting from the last thing migrated.

Add custom SIZE bbcode

If anyone has this fix/addition i'll appreciate the help. Searching for days after this fix.

The problem is that MyBB SIZE tag uses text instead of numbers, example: [size=x-large]My title[/size]. Adding this to the formatter isn't so easy as it looks like for some reason.

In Config.php I've tried the following lines:

$configurator->BBCodes->addCustom('[size={CHOICE=large,small,xx-small,x-small,medium,x-large,xx-large}]{TEXT}[/size]','<span style="font-size:{CHOICE}">{TEXT}</span>'); //not working for me.
$configurator->BBCodes->addCustom('[size={TEXT1}]{TEXT2}[/size]', new UnsafeTemplate('<span style="font-size:{TEXT1}">{TEXT2}</span>')); //not working for me either

On both "solutions" the parser does this:

<span style="font-size:x-largepx">My title</span>

It add "px" at the end every damn time.

Need help with this. I searched my ass off where the "px" comes from.

Migrating threads and posts with users assigns them to wrong user

When migrating threads and posts together with users the threads and the posts will be assigned as created by the user with the uid from myBB which is not the same in flarum if a user was ever deleted in myBB. This can (and in my case) let the migration fail with the following error due to the user not existing in flarum:

Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`forum`.`posts`, CONSTRAINT `posts_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL) (SQL: insert into `posts` (`is_approved`, `created_at`, `discussion_id`, `user_id`, `type`, `ip_address`, `content`, `number`, `is_private`) values (1, 2015-05-30 23:08:34, 160, 73, comment, , Test, 2, 0)) in /var/www/forum/vendor/illuminate/database/Connection.php:664

import failed when we try to import mybb into flarum dockerized

Hi,
I run Flarum into a docker container like this
I export my mybb database and i imported all datas in the same database as flarum.
When i used your latest plugin i have this error message :
"Oops! Something went wrong. Please reload the page and try again." without any other precission in log files into my mariadb container
I have try to change the value of host field to the ip of my container or the name of my container but nothing happened and same issue appears
How can i debug the process to solve my problem?
Best regards

Illuminate\Database\Eloquent\Relations\BelongsToMany::save()

Sorry but i have a new error:

[2019-01-12 18:28:43] production.ERROR: TypeError: Argument 1 passed to Illuminate\Database\Eloquent\Relations\BelongsToMany::save() must be an instance of Illuminate\Database\Eloquent\Model, null given, called in /flarum/app/vendor/michaelbelgium/mybb-to-flarum/src/Migrator.php on line 133 and defined in /flarum/app/vendor/illuminate/database/Eloquent/Relations/BelongsToMany.php:749
Stack trace:
#0 /flarum/app/vendor/michaelbelgium/mybb-to-flarum/src/Migrator.php(133): Illuminate\Database\Eloquent\Relations\BelongsToMany->save(NULL)
#1 /flarum/app/vendor/michaelbelgium/mybb-to-flarum/src/Controllers/MybbToFlarumController.php(62): Michaelbelgium\Mybbtoflarum\Migrator->migrateUsers(false, true)
#2 /flarum/app/vendor/flarum/core/src/Http/RouteHandlerFactory.php(40): Michaelbelgium\Mybbtoflarum\Controllers\MybbToFlarumController->handle(Object(Zend\Diactoros\ServerRequest))
#3 /flarum/app/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(67): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Zend\Diactoros\ServerRequest), Array)
#4 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\DispatchRoute->process(Object(Zend\Diactoros\ServerRequest), Object(Closure))
#5 /flarum/app/vendor/flagrow/terms/src/Middlewares/RegisterMiddleware.php(59): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#6 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flagrow\Terms\Middlewares\RegisterMiddleware->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#7 /flarum/app/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#8 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\SetLocale->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#9 /flarum/app/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#10 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#11 /flarum/app/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(34): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#12 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#13 /flarum/app/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#14 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\RememberFromCookie->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#15 /flarum/app/vendor/flarum/core/src/Http/Middleware/StartSession.php(62): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#16 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\StartSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#17 /flarum/app/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(31): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#18 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#19 /flarum/app/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(29): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#20 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Http\Middleware\ParseJsonBody->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#21 /flarum/app/vendor/flarum/core/src/Api/Middleware/HandleErrors.php(42): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#22 /flarum/app/vendor/zendframework/zend-stratigility/src/Next.php(52): Flarum\Api\Middleware\HandleErrors->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#23 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(91): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#24 /flarum/app/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\MiddlewarePipe))
#25 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\RequestHandler->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\MiddlewarePipe))
#26 /flarum/app/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#27 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\BasePathRouter->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\MiddlewarePipe))
#28 /flarum/app/vendor/middlewares/base-path/src/BasePath.php(53): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#29 /flarum/app/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(78): Middlewares\BasePath->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\MiddlewarePipe))
#30 /flarum/app/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#31 /flarum/app/vendor/flarum/core/src/Http/Server.php(46): Zend\HttpHandlerRunner\RequestHandlerRunner->run()
#32 /flarum/app/public/index.php(22): Flarum\Http\Server->listen()
#33 {main}

Migrate attachments

pretty much self explanatory. I don't know flarum's structure, but mybb's easy enough.
I can work on this. if I can I'll try to make a PR somewhere during this weekend.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.