Giter VIP home page Giter VIP logo

padre's Introduction

Padre Build StatusCoverage Status

Perl Application Development and Refactoring Environment

A Perl IDE and general-purpose editor using WxWidgets.

Installation

  • Alien::wxWidgets
  • Wx
  • Padre

For detailed installation instructions look at

http://padre.perlide.org/wiki/Download

ToDo

  • convert from svn to github kaare++
  • travis intergration alias++ bowtie++
  • contributors guide
    • use of tools perltidyrc
    • spell checking
    • use of skip ci for *.mb and pod files
    • use of gists
  • conversion of trac features szabgab++
  • conversion of RT to issues karre++
  • irc info bowtie++
  • #padre notifications
  • padre developers wiki

License

The Padre source code is distributed under the same terms as Perl itself. Namely:

  1. The GNU General Public License, either version 1 or at your option, any later version. (see the file "COPYING").

  2. The Artistic License of Perl. (see the file "Artistic").


For other Copyrights and Licenses see also

share/icons/padre/README.txt share/icons/gnome218/README.txt

Development

In order to develop Padre on Ubuntu we will use the system-perl. Install the available packages using

./install_on_ubuntu

Then install the remaining missing packages that are not distributed by Ubuntu:

curl -L https://cpanmin.us | perl - App::cpanminus
~/perl5/bin/cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)

Add the following line to ~/.bashrc (or similar file that is loaded when you open a terminal)

eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)

Then open a new terminal and type in

perl Makefile.PL

Install the missing modules:

cpanm Parse::Functions Debug::Client
perl Makefile.PL
make
./dev

Release

We used to have some really detailed instruction on the release process as part of our wiki. That needs some update.

  • Update the Changes file
  • Update version numbers:
cd lib
ppi_version change 1.01 1.02
perl Makefile.PL
make
make test
make dist
git tag -a v1.02 -m "release of v1.02"

padre's People

Contributors

adamkennedy avatar azawawi avatar bluet avatar bricas avatar burak avatar charsbar avatar chorny avatar daxim avatar dolmen avatar fayland avatar garu avatar hashbangperl avatar itcharlie avatar jquelin avatar keedi avatar kevindawson avatar markdootson avatar nxadm avatar patspam avatar pshangov avatar ryan52 avatar sewi-cpan avatar shlomif avatar svendowideit avatar szabgab avatar therek avatar tsee avatar waxhead avatar zenogantner avatar zipf 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

padre's Issues

Padre external editing

It is wish, not a bug.
It would be nice, add support for external editing.
Similar possibility I have under Notepad++ with NppFTP plugin. I can define some external server with connection protocol. Then I can browse external filesystem, make new directories and files, open and edit existings. It supports ftp/sftp/ftps and ssh protocols.
Unfortunately notepad++ supports only syntax highlighting, because it is textfile editor, not IDE.
Working under padre I must work in temporary directory under windows, then I must use some external tool for update file to external server manually. This is inconvenient.

But there is a chance build another functionality. This is editing script remotely, and running it remotely by catching STDIN/STDOUT/STDERR from external terminal. At now I thing about ssh connection, but maybe it will be useable on other protocols.

If it is needed, split this wish into two ones.

Wx 3.0.0 info only

Alien::wxWidgets install ok
Wx had to force
Wx::Scintilla ok


                   Padre 1.01
Core...
                  osname linux
                archname i686-linux-thread-multi
            Distribution Ubuntu 14.04.1 LTS 
                  Kernel 3.13.0-36-generic
                    Perl 5.20.0
                 Threads 8
                     RAM 440.4MB
Wx...
                      Wx 0.9923
               WxWidgets 3.0.0
                 unicode 1
        Alien::wxWidgets 0.65
 Wx::Perl::ProcessStream 0.32
           Wx::Scintilla 0.39
Other...
                     PPI 1.218
           Debug::Client 0.29
       PPIx::EditorTools 0.19
                  Config /home/kevin/GitHub/Padre/.padre

warnings so far

Possible precedence issue with control flow operator at /home/kevin/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/i686-linux-thread-multi/Alien/wxWidgets/Utility.pm line 77.

@adamkennedy just for you :)

Crash : Preferences - On selecting any Key Bindings

This issue is 100% reproducible. Padre crashes and closes if :

  1. Go to Tools -> Preferences.
  2. Click on Key Bindings
  3. Click on any of the bindings.

After clicking Padre crashes. One bug #26 is there regarding similar issue. But now we can't even select any Key Bindings from the list.

About :

Padre 0.94
Core...
osname MSWin32
archname MSWin32-x86-multi-thread
Perl 5.12.3
Threads 5
RAM 113.7MB
Wx...
Wx 0.9902
WxWidgets 2.8.12
unicode 1
Alien::wxWidgets 0.53
Wx::Perl::ProcessStream 0.30
Wx::Scintilla 0.36
Other...
PPI 1.215
Debug::Client 0.16
Config C:\Users\baila\AppData\Local\Perl\Padre

Win10 / Strawberry Perl / help system, debugging

It was a bit complicated to install on Windows 10 but this was a big help:

https://paulshipley.id.au/blog/coding-tips/ide-for-strawberry-perl-for-windows/

However, to start with, many things including the help system (using F2) does not seem to work, it lists a lot of help topcis but they all show "No Help found". Also.. the debugger only has a "quit" button. It seems to be working by entering eg. an 's' command in that "Raw command" box

Before considering Padre under Win10 as still very difficult, I have to ask, is there something fundamental am I missing?

Cheers,

Add current directory to @INC for Makefile.PL (perl version 5.29.8)

I tried to install Padre 1.00 on my Ubuntu 18.10 laptop (perl version 5.29.8) with cpanm but ran into issue #33. So I tried to download tar ball:

cpan -g Padre
perlbrew use 5.29.8-threads
tar zxvf Padre-1.00.tar.gz
cd Padre-1.00

Then edited the file lib/Padre/Wx/Main.pm and changed line 5564 according to pull #34
Then edited file lib/Padre/Locker.pm line 105 and commented out the line: Padre::DB->begin;
according to: DBD-SQLite/DBD-SQLite#10

Now running perl Makefile.PL gives

Can't locate inc/Module/Install.pm in @INC

I fixed this issue by changing line #7 in Makefile.PL to include the dot (current directory):

use lib '.', 'privinc';

Unable to write text on cursor position

Steps:

  1. Open Padre with a new tab/file.
  2. Put this code inside:
    my $fileDlg = Wx::FileDialog->new(  $self,    # parent 'Open File',        # Caption $progDir,           # Default directory '',                     # Default file "FCB flash Cards (*.fcb)|*.fcb|All files (*.*)|*.*",    # wildcard wxFD_OPEN|wxFD_FILE_MUST_EXIST);        # style
  3. Click (put cursor) into the word "Cards" between letters "d" and "s".
  4. Write letter "x".
  5. Word "Cards" changes into word "Carxds" - but it should be "Cardxs".

Another strange behaviour:
6) Click between "*" and "." in the first "(*.*)"
7) A strange gap appears between "files" and "(*.*)" and the cursor is before "(*.*)" (see screenshots Before and After).

padre_bug

When I remove quotation marks in front of "FCB flash", everything is OK.

I installed Padre from CPAN, I use Xubuntu 14.04.
About info:
Padre 1.00
Core...
osname linux
archname x86_64-linux-gnu-thread-multi
Distribution Ubuntu 14.04.4 LTS
Kernel 3.13.0-74-generic
Perl 5.18.2
Threads 2
RAM 1063.6MB
Wx...
Wx 0.9928
WxWidgets 2.8.12
unicode 1
Alien::wxWidgets 0.67
Wx::Perl::ProcessStream 0.32
Wx::Scintilla 0.38
Other...
PPI 1.215
Debug::Client 0.29
PPIx::EditorTools 0.18
Config /home/XXX/.local/share/.padre

GUI freezes for ever after starting debugger

A gdb backtrace:

(gdb) t a a bt 

Thread 7 (Thread 0x7fffe7be3700 (LWP 3064)):
#0  0x00007ffff754b8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffeff2cebc in g_main_context_iterate (priority=2147483647, n_fds=3, fds=0x7fffe00010e0, timeout=-1, context=0xcb8620)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4103
#2  0x00007fffeff2cebc in g_main_context_iterate (context=0xcb8620, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3803
#3  0x00007fffeff2d242 in g_main_loop_run (loop=0xcb85b0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4002
#4  0x00007fffedb88af6 in gdbus_shared_thread_func (user_data=0xcb85f0) at /build/buildd/glib2.0-2.44.1/./gio/gdbusprivate.c:274
#5  0x00007fffeff53955 in g_thread_proxy (data=0xb420f0) at /build/buildd/glib2.0-2.44.1/./glib/gthread.c:764
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffe7be3700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fffe6361700 (LWP 3065)):
#0  0x00007ffff6d32da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff2cf85b2 in XS_threads__shared_cond_wait (my_perl=<optimized out>, cv=<optimized out>) at shared.xs:1556
#2  0x00007ffff78de34b in Perl_pp_entersub (my_perl=0x17c2300) at pp_hot.c:2794
#3  0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x17c2300) at run.c:42
#4  0x00007ffff785fd75 in Perl_call_sv (my_perl=my_perl@entry=0x7fffe63619c0, sv=0x268d5c8, flags=flags@entry=8) at perl.c:2771
#5  0x00007ffff310ed0a in S_ithread_run (arg=<optimized out>) at threads.xs:520
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffe6361700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fffdec00700 (LWP 3100)):
#0  0x00007ffff754b8dd in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007fffeff2cebc in g_main_context_iterate (priority=2147483647, n_fds=2, fds=0x7fffd40008c0, timeout=-1, context=0x2aea210)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4103
#2  0x00007fffeff2cebc in g_main_context_iterate (context=context@entry=0x2aea210, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3803
#3  0x00007fffeff2cfcc in g_main_context_iteration (context=0x2aea210, may_block=may_block@entry=1)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3869
#4  0x00007fffeff2d009 in glib_worker_main (data=<optimized out>) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:5618
#5  0x00007fffeff53955 in g_thread_proxy (data=0x3e1d0f0) at /build/buildd/glib2.0-2.44.1/./glib/gthread.c:764
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffdec00700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffca792700 (LWP 3105)):
#0  0x00007ffff6d32da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff2cf85b2 in XS_threads__shared_cond_wait (my_perl=<optimized out>, cv=<optimized out>) at shared.xs:1556
#2  0x00007ffff78de34b in Perl_pp_entersub (my_perl=0x7fffd8002750) at pp_hot.c:2794
#3  0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x7fffd8002750) at run.c:42
#4  0x00007ffff785fd75 in Perl_call_sv (my_perl=my_perl@entry=0x7fffca7929c0, sv=0x7fffd8828720, flags=flags@entry=8) at perl.c:2771
#5  0x00007ffff310ed0a in S_ithread_run (arg=<optimized out>) at threads.xs:520
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffca792700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffbb7fe700 (LWP 3183)):
#0  0x00007ffff6d32da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff2cf85b2 in XS_threads__shared_cond_wait (my_perl=<optimized out>, cv=<optimized out>) at shared.xs:1556
#2  0x00007ffff78de34b in Perl_pp_entersub (my_perl=0x7fffd93a4f20) at pp_hot.c:2794
#3  0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x7fffd93a4f20) at run.c:42
#4  0x00007ffff785fd75 in Perl_call_sv (my_perl=my_perl@entry=0x800000, sv=0x7fffd9f10ff0, flags=flags@entry=8) at perl.c:2771
#5  0x00007ffff310ed0a in S_ithread_run (arg=<optimized out>) at threads.xs:520
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffbb7fe700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffbbfff700 (LWP 3175)):
#0  0x00007ffff6d32da0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff2cf85b2 in XS_threads__shared_cond_wait (my_perl=<optimized out>, cv=<optimized out>) at shared.xs:1556
#2  0x00007ffff78de34b in Perl_pp_entersub (my_perl=0x7fffd882c2c0) at pp_hot.c:2794
#3  0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x7fffd882c2c0) at run.c:42
#4  0x00007ffff785fd75 in Perl_call_sv (my_perl=my_perl@entry=0x800000, sv=0x7fffd939b980, flags=flags@entry=8) at perl.c:2771
#5  0x00007ffff310ed0a in S_ithread_run (arg=<optimized out>) at threads.xs:520
#6  0x00007ffff6d2d6aa in start_thread (arg=0x7fffbbfff700) at pthread_create.c:333
#7  0x00007ffff7556eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7fa3700 (LWP 2939)):
#0  0x00007ffff7557bcd in accept () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff7926499 in Perl_pp_accept (my_perl=0x603010) at pp_sys.c:2531
#2  0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x603010) at run.c:42
#3  0x00007ffff785fd75 in Perl_call_sv (my_perl=<optimized out>, sv=0x3834458, flags=<optimized out>) at perl.c:2771
#4  0x00007ffff2757cdd in wxPliEventCallback::Handler(wxEvent&) () at /usr/lib/x86_64-linux-gnu/perl5/5.20/auto/Wx/Wx.so
#5  0x00007ffff142f71e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (this=
    0xa9be50, handler=0x328fb40, functor=..., event=...) at ../src/common/appbase.cpp:623
#6  0x00007ffff15caf08 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (entry=..., handler=<optimized out>, event=...) at ../src/common/event.cpp:1392
#7  0x00007ffff15cb2f6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) (this=0x328fb40, event=...) at ../src/common/event.cpp:1751
#8  0x00007ffff15cb37e in wxEvtHandler::TryHereOnly(wxEvent&) (this=0x328fb40, event=...) at ../src/common/event.cpp:1585
#9  0x00007ffff15cb1c3 in wxEvtHandler::DoTryChain(wxEvent&) (this=<optimized out>, event=...) at ../src/common/event.cpp:1554
#10 0x00007ffff15cb4a5 in wxEvtHandler::ProcessEvent(wxEvent&) (this=0x3886000, event=...) at ../src/common/event.cpp:1495
#11 0x00007ffff1d3f548 in wxWindowBase::TryAfter(wxEvent&) (this=0x39cb810, event=...) at ../src/common/wincmn.cpp:3427
#12 0x00007ffff15cb217 in wxEvtHandler::SafelyProcessEvent(wxEvent&) (this=<optimized out>, event=...) at ../src/common/event.cpp:1613
#13 0x00007ffff1d40b1c in wxWindowBase::HandleWindowEvent(wxEvent&) const (this=this@entry=0x39cb810, event=...)
    at ../src/common/wincmn.cpp:1525
#14 0x00007ffff1d12923 in wxToolBarBase::OnLeftClick(int, bool) (this=0x39cb810, toolid=<optimized out>, toggleDown=false)
    at ../src/common/tbarbase.cpp:643
#15 0x00007ffff0202504 in _g_closure_invoke_va (closure=0xa, closure@entry=0x3b19b60, return_value=0x7fffffffac30, 
    return_value@entry=0x0, instance=0x7fffffffac2c, instance@entry=0x3b17300, args=0x7ffff7557bcd <accept+45>, 
    args@entry=0x7fffffffc3a8, n_params=1, param_types=0x0) at /build/buildd/glib2.0-2.44.1/./gobject/gclosure.c:831
#16 0x00007ffff021bfa7 in g_signal_emit_valist (instance=0x3b17300, signal_id=<optimized out>, detail=0, var_args=0x7fffffffc3a8)
    at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3214
#17 0x00007ffff021ce4a in g_signal_emit_by_name (instance=0xa, detailed_signal=0x7fffffffac30 "\213\353\230\367\033")
    at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3401
#18 0x00007ffff0202504 in _g_closure_invoke_va (closure=0xa, closure@entry=0x3b1b6f0, return_value=0x7fffffffac30, 
    return_value@entry=0x0, instance=0x7fffffffac2c, instance@entry=0x3b189c0, args=0x7ffff7557bcd <accept+45>, 
    args@entry=0x7fffffffc6c0, n_params=1, param_types=0x0) at /build/buildd/glib2.0-2.44.1/./gobject/gclosure.c:831
#19 0x00007ffff021bfa7 in g_signal_emit_valist (instance=0x3b189c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffc6c0) at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3214
#20 0x00007ffff021c8ff in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3361
#21 0x00007ffff0bf7395 in gtk_real_button_released (button=0x3b189c0 [GtkButton]) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkbutton.c:1712
#25 0x00007ffff021c8ff in <emit signal ??? on instance 0x3b189c0 [GtkButton]> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3361
    #22 0x00007ffff02022d5 in g_closure_invoke (closure=0xb30ed0, return_value=0x0, n_param_values=1, param_values=0x7fffffffc970, invocation_hint=0x7fffffffc910) at /build/buildd/glib2.0-2.44.1/./gobject/gclosure.c:768
    #23 0x00007ffff0213913 in signal_emit_unlocked_R (node=node@entry=0xb30f00, detail=detail@entry=0, instance=instance@entry=0x3b189c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc970)
    at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3479
    #24 0x00007ffff021c698 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcaf0) at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3305
#26 0x00007ffff0bf6289 in gtk_button_button_release (widget=<optimized out>, event=<optimized out>)
    at /build/buildd/gtk+2.0-2.24.27/gtk/gtkbutton.c:1604
#31 0x00007ffff021c8ff in <emit signal ??? on instance 0x3b189c0 [GtkButton]> (instance=instance@entry=0x3b189c0, signal_id=<optimized out>, detail=detail@entry=0) at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3361
    #27 0x00007ffff0c9cd1f in _gtk_marshal_BOOLEAN__BOXED (closure=0xb16df0, return_value=0x7fffffffcd20, n_param_values=<optimized out>, param_values=0x7fffffffcdd0, invocation_hint=<optimized out>, marshal_data=0x7ffff0bf6270 <gtk_button_button_release>) at gtkmarshalers.c:86
    #28 0x00007ffff02022d5 in g_closure_invoke (closure=0xb16df0, return_value=0x7fffffffcd20, n_param_values=2, param_values=0x7fffffffcdd0, invocation_hint=0x7fffffffcd70) at /build/buildd/glib2.0-2.44.1/./gobject/gclosure.c:768
    #29 0x00007ffff0213f32 in signal_emit_unlocked_R (node=node@entry=0xb16e40, detail=detail@entry=0, instance=instance@entry=0x3b189c0, emission_return=emission_return@entry=0x7fffffffce80, instance_and_params=instance_and_params@entry=0x7fffffffcdd0)
    at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3587
    #30 0x00007ffff021c1a5 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcf60) at /build/buildd/glib2.0-2.44.1/./gobject/gsignal.c:3315
#32 0x00007ffff0db461c in gtk_widget_event_internal (widget=widget@entry=0x3b189c0 [GtkButton], event=event@entry=0x7fffbc01dd10)
    at /build/buildd/gtk+2.0-2.24.27/gtk/gtkwidget.c:5017
#33 0x00007ffff0db4911 in IA__gtk_widget_event (widget=widget@entry=0x3b189c0 [GtkButton], event=event@entry=0x7fffbc01dd10)
    at /build/buildd/gtk+2.0-2.24.27/gtk/gtkwidget.c:4814
#34 0x00007ffff0c9b464 in IA__gtk_propagate_event (widget=0x3b189c0 [GtkButton], event=0x7fffbc01dd10)
    at /build/buildd/gtk+2.0-2.24.27/gtk/gtkmain.c:2520
#35 0x00007ffff0c9b8fb in IA__gtk_main_do_event (event=0x7fffbc01dd10) at /build/buildd/gtk+2.0-2.24.27/gtk/gtkmain.c:1710
#36 0x00007ffff090ebac in gdk_event_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
    at /build/buildd/gtk+2.0-2.24.27/gdk/x11/gdkevents-x11.c:2425
#37 0x00007fffeff2cc3d in g_main_context_dispatch (context=0xad99a0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3122
#38 0x00007fffeff2cc3d in g_main_context_dispatch (context=context@entry=0xad99a0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3737
#39 0x00007fffeff2cf20 in g_main_context_iterate (context=0xad99a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:3808
#40 0x00007fffeff2d242 in g_main_loop_run (loop=0x42352a0) at /build/buildd/glib2.0-2.44.1/./glib/gmain.c:4002
#41 0x00007ffff0c9a857 in IA__gtk_main () at /build/buildd/gtk+2.0-2.24.27/gtk/gtkmain.c:1282
#42 0x00007ffff1b00745 in wxGUIEventLoop::DoRun() (this=0xb1db70) at ../src/gtk/evtloop.cpp:65
#43 0x00007ffff1475750 in wxEventLoopBase::Run() (this=0xb1db70) at ../src/common/evtloopcmn.cpp:78
#44 0x00007ffff1431a46 in wxAppConsoleBase::MainLoop() (this=0xa9be50) at ../src/common/appbase.cpp:334
#45 0x00007ffff26873d9 in wxPliApp::MainLoop() () at /usr/lib/x86_64-linux-gnu/perl5/5.20/auto/Wx/Wx.so
#46 0x00007ffff2635f81 in  () at /usr/lib/x86_64-linux-gnu/perl5/5.20/auto/Wx/Wx.so
#47 0x00007ffff78de34b in Perl_pp_entersub (my_perl=0x603010) at pp_hot.c:2794
#48 0x00007ffff78d6bb6 in Perl_runops_standard (my_perl=0x603010) at run.c:42
#49 0x00007ffff78676fd in perl_run (oldscope=1, my_perl=0x603010) at perl.c:2451
#50 0x00007ffff78676fd in perl_run (my_perl=0x603010) at perl.c:2372
#51 0x0000000000400dd9 in main (argc=2, argv=0x7fffffffd658, env=0x7fffffffd670) at perlmain.c:114

Installation tests failed on Linux

When installing from CPAN, two tests failed:

------ 1-st : --------
t/01_compile.t ............. 36/37

Failed test 'no warnings'

at /home/al/perl5/lib/perl5/Test/NoWarnings.pm line 45.

There were 1 warning(s)

Previous test 26 'use Padre::Role::Task;'

Possible precedence issue with control flow operator at /home/al/.cpan/build/Padre-1.00-CHZPIR/blib/lib/Padre/Document/Perl/QuickFix/StrictWarnings.pm line 71.

at /home/al/.cpan/build/Padre-1.00-CHZPIR/blib/lib/Padre/Document/Perl/QuickFix/StrictWarnings.pm line 71.

require Padre/Document/Perl/QuickFix/StrictWarnings.pm called at /home/al/.cpan/build/Padre-1.00-CHZPIR/blib/lib/Padre.pm line 87

eval {...} called at /home/al/.cpan/build/Padre-1.00-CHZPIR/blib/lib/Padre.pm line 87

Padre::import("Padre", ":everything") called at t/01_compile.t line 53

Looks like you failed 1 test of 37.

-------- 2-nd: -----------

t/50_browser.t ............. 1/14

Failed test 'undef isa 'Padre::Browser::Document''

at t/50_browser.t line 47.

undef isn't defined

Can't call method "mimetype" on an undefined value at t/50_browser.t line 48.

Looks like you planned 14 tests but ran 9.

Looks like you failed 1 test of 9 run.

Looks like your test exited with 25 just after 9.

t/50_browser.t ............. Dubious, test returned 25 (wstat 6400, 0x1900)
Failed 6/14 subtests

Test Summary Report

t/01_compile.t (Wstat: 256 Tests: 37 Failed: 1)
Failed test: 37
Non-zero exit status: 1
t/50_browser.t (Wstat: 6400 Tests: 9 Failed: 1)
Failed test: 8
Non-zero exit status: 25
Parse errors: Bad plan. You planned 14 tests but ran 9.
Files=62, Tests=2531, 172 wallclock secs ( 1.79 usr 0.25 sys + 108.12 cusr 6.63 csys = 116.79 CPU)
Result: FAIL
Failed 2/62 test programs. 2/2531 subtests failed.
Makefile:2114: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255

Padre/ Path-Class-0.34 installation problems under Windows7 64b

Under fresh stable strawberry installation, is problem with Path::Class module. Log for second installation after first fault:

C:\Users\myuser\Documents>cpanm Padre
--> Working on Padre
Fetching http://www.cpan.org/authors/id/P/PL/PLAVEN/Padre-1.00.tar.gz ... OK
Configuring Padre-1.00 ... OK
==> Found dependencies: Module::Starter
--> Working on Module::Starter
Fetching http://www.cpan.org/authors/id/X/XS/XSAWYERX/Module-Starter-1.62.tar.gz ... OK
Configuring Module-Starter-1.62 ... OK
==> Found dependencies: Path::Class
--> Working on Path::Class
Fetching http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.34.tar.gz ... OK
Configuring Path-Class-0.34 ... OK
Building and testing Path-Class-0.34 ... FAIL
! Installing Path::Class failed. See C:\Users\myuser.cpanm\work\1410674843.16768\build.log for details. Retry with --force to force insta
ll it.
! Installing the dependencies failed: Module 'Path::Class' is not installed
! Bailing out the installation for Module-Starter-1.62.
! Installing the dependencies failed: Module 'Module::Starter' is not installed
! Bailing out the installation for Padre-1.00.

I append building Patch::Class logfile because this fails.

after -f I've got:

C:\Users\grszyszl\Documents>cpanm -f Padre
--> Working on Padre
Fetching http://www.cpan.org/authors/id/P/PL/PLAVEN/Padre-1.00.tar.gz ... OK
Configuring Padre-1.00 ... OK
==> Found dependencies: Module::Starter
--> Working on Module::Starter
Fetching http://www.cpan.org/authors/id/X/XS/XSAWYERX/Module-Starter-1.62.tar.gz ... OK
Configuring Module-Starter-1.62 ... OK
==> Found dependencies: Path::Class
--> Working on Path::Class
Fetching http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.34.tar.gz ... OK
Configuring Path-Class-0.34 ... OK
Building and testing Path-Class-0.34 ... FAIL
! Testing Path-Class-0.34 failed but installing it anyway.
Successfully installed Path-Class-0.34
Building and testing Module-Starter-1.62 ... OK
Successfully installed Module-Starter-1.62
Building and testing Padre-1.00 ... FAIL
! Testing Padre-1.00 failed but installing it anyway.
Successfully installed Padre-1.00
3 distributions installed

It doesn't pass test but works. Thank to kmx for recipe :)

What is problem in Path-Class (part of install log), interesting is line:

Failed test at t/03-filesystem.t line 206.

log extract:
Searching Path::Class on cpanmetadb ...
--> Working on Path::Class
Fetching http://www.cpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.34.tar.gz
-> OK
Unpacking Path-Class-0.34.tar.gz
Entering Path-Class-0.34
Checking configure dependencies from META.yml
Checking if you have Module::Build 0.3601 ... Yes (0.4205)
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.94)
Checking if you have Module::Build 0.36 ... Yes (0.4205)
Configuring Path-Class-0.34
Running Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Path-Class' version '0.34'
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have File::Temp 0 ... Yes (0.2304)
Checking if you have Cwd 0 ... Yes (3.40)
Checking if you have Test 0 ... Yes (1.26)
Checking if you have IO::File 0 ... Yes (1.16)
Checking if you have File::Copy 0 ... Yes (2.26)
Checking if you have parent 0 ... Yes (0.228)
Checking if you have Scalar::Util 0 ... Yes (1.38)
Checking if you have warnings 0 ... Yes (1.18)
Checking if you have IO::Dir 0 ... Yes (1.10)
Checking if you have Test::More 0 ... Yes (1.001003)
Checking if you have File::stat 0 ... Yes (1.07)
Checking if you have Carp 0 ... Yes (1.3301)
Checking if you have File::Path 0 ... Yes (2.09)
Checking if you have Module::Build 0.3601 ... Yes (0.4205)
Checking if you have Exporter 0 ... Yes (5.68)
Checking if you have Perl::OSType 0 ... Yes (1.007)
Checking if you have overload 0 ... Yes (1.22)
Checking if you have strict 0 ... Yes (1.07)
Checking if you have File::Spec 3.26 ... Yes (3.40)
Building and testing Path-Class-0.34
Building Path-Class
t/01-basic.t .......... ok
t/02-foreign.t ........ ok

Failed test at t/03-filesystem.t line 206.

got: 'Line1

Line2

Line3

'

expected: 'Line1

Line2

Line3

'

Looks like you failed 1 test of 103.

t/03-filesystem.t .....
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/103 subtests
t/04-subclass.t ....... ok
t/05-traverse.t ....... ok
t/06-traverse_filt.t .. ok
t/07-recurseprune.t ... ok
t/author-critic.t ..... skipped: these tests are for testing by the author

Test Summary Report

t/03-filesystem.t (Wstat: 256 Tests: 103 Failed: 1)
Failed test: 61
Non-zero exit status: 1

Padre does not work with Perl 5.26 (unicode error)

After installing the required packages from debian testing and installing Padre, the following error occurs:

Malformed UTF-8 character: \xe0\x20\x6c (unexpected non-continuation byte 0x20, immediately after start byte 0xe0; need 3 bytes, got 1) at /usr/local/share/perl/5.26.1/Padre/Wx/Main.pm line 5564.
Malformed UTF-8 character (fatal) at /usr/local/share/perl/5.26.1/Padre/Wx/Main.pm line 5564.
Compilation failed in require at /usr/local/share/perl/5.26.1/Padre/Wx/App.pm line 58.
Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached

If the mentioned character (ร ) is eliminated and a reinstall is performed, Padre works fine.

Padre: ./dev failed to start

After building latest Padre on my Deb 8, 64-bit laptop I executed:

$ ./dev

and got:

11:50:30: Warning: Cannot set locale to language "English (U.K.)".
11:50:30: Error: locale 'en_GB' cannot be set.

Investigating...

I fixed my own Debian 8 problem by doing the following:

dpkg-reconfigure locales

and ensuring 'en_GB' is selected. Then I was asked to select the default locale and did so for my normal environment which is 'en_US.UTF-8'. However, IMO, the failure is still a problem since no fallback locale was found in Padre which causes the error in the first place. My look at file 'Locale.pm' is cursory, and I couldn't see immediately how to define the 'en-us' to show its locale indicator as 'en_US.UTF-8' (that is apparently set by the Debian installer for those of selecting US English during at the appropriate prompt).

I will continue to investigate...

I have gotten nowhere so far. I'm convinced that there should be some installation instructions on ensuring a valid locale that will be recognized by Padre is set. Otherwise Padre needs somehow to find what is set and test against that. Again, I don't know how to fix it, but apparently 'en_US.UTF-8' is either not detected or not recognized as valid.

Padre segfaults when Padre::Plugin::Snippet is enabled

When i enable Padre::Plugin::Snippet via Plug-in-Manager in Padre, either Padre crashes instantly with a segfault. After a restart it starts, but at the first serious action (opening a file, Help->Report a new Bug) Padre crashes again. When the said module is disabled everything works as expected
again.

OS: Linux, Debian Jessie (testing)
Padre: 1.00 (1.00+dfsg-3) installed from .deb
Padre::Plugin::Snippet: 0.01-2 installed from .deb

Padre will not use the GNU freefonts.

I installed the Debian packages fonts-freefont-otf and fonts-freefont-ttf. I can see the fonts in the editor selection window but Padre will not accept them. I tried the advanced settings for the font and the window showed the change but all reverted to the old font afterward. This is an important issue for Perl 6 since one of the unicode operators (U+1D452) does not display with the default font. There may be another font that shows the character, but I think the issue is not using the font that is selected.

YAML::Tiny found a duplicate key 'chomp' in line ''/Padre/lib/Padre/Document/Perl.pm line 321.

we have an issue with YAML::Tiny 1.63

kevin@billy:~/GitHub/Padre$ perl dev
Uncaught exception from user code:
    YAML::Tiny found a duplicate key 'chomp' in line '' at /home/kevin/GitHub/Padre/lib/Padre/Document/Perl.pm line 321.
    Padre::run(Padre=HASH(0xa54bd68)) called at /home/kevin/GitHub/Padre/script/padre line 200
Perl exited with active threads:
    8 running and unjoined
    0 finished and unjoined
    0 running and detached

if we roll back to v1.62 all is ok

Need Perl 6 unicode operator help page

The Perl 6 community is hard over on using unicode operators in public source code. Thus Padre needs some kind of page that shows the operators in their actual form so that they can be copied into or otherwise easily inserted into source code. A standard set of key bindings to compose and insert all the operators would be cool also.

Output - Copy (CTRL-C, copy from Context menu)

This is a wish, not a bug...
I would like to be able to copy selected text from Output (main menu - View - Show Output)
I am Perl beginner so I need to search errors and warnings on the internet quite often. I can select text in Output, but I can not to copy it to clipboard (CTRL-C is not working, context menu does not have Copy option).
It would be very useful to have both options to copy from Output (CTRL-C and Copy in Context menu).

I installed Padre from CPAN.

About Information:
Padre 1.00
Core...
osname linux
archname x86_64-linux-gnu-thread-multi
Distribution Ubuntu 14.04.4 LTS
Kernel 3.13.0-74-generic
Perl 5.18.2
Threads 3
RAM 1067.2MB
Wx...
Wx 0.9928
WxWidgets 2.8.12
unicode 1
Alien::wxWidgets 0.67
Wx::Perl::ProcessStream 0.32
Wx::Scintilla 0.38
Other...
PPI 1.215
Debug::Client 0.29
PPIx::EditorTools 0.18
Config /home/XXX/.local/share/.padre

Padre::Preferences - Crashes while deleting a key binding

Steps:

  1. Run Padre, Tools - Preferences.
  2. Select Key Bindings.
  3. Select CTRL-Q (file.quit).
  4. Click on the button Delete.
    After step 4 Padre crashes immediately.

I installed Padre from CPAN.
About info:
Padre 1.00
Core...
osname linux
archname x86_64-linux-gnu-thread-multi
Distribution Ubuntu 14.04.4 LTS
Kernel 3.13.0-74-generic
Perl 5.18.2
Threads 2
RAM 1063.6MB
Wx...
Wx 0.9928
WxWidgets 2.8.12
unicode 1
Alien::wxWidgets 0.67
Wx::Perl::ProcessStream 0.32
Wx::Scintilla 0.38
Other...
PPI 1.215
Debug::Client 0.29
PPIx::EditorTools 0.18
Config /home/XXX/.local/share/.padre

crash while open File

with Padre 1.0 and master too the ide craches with

Invalid task class 'Padre::Task::Diff' at /usr/lib/perl5/vendor_perl/5.20.1/Padre/Role/Task.pm line 262.
Perl exited with active threads:
    2 running and unjoined
    0 finished and unjoined
    0 running and detached

while open a perl Source File.

Here are some Infos:

Core...
                  osname linux
                archname x86_64-linux-thread-multi
            Distribution Welcome to openSUSE 13.2 "Harlequin" - Kernel \r (\l).
                  Kernel 3.16.7-24-desktop
                    Perl 5.20.1
                 Threads 2
                     RAM 807.2MB
Wx...
                      Wx 0.9923
               WxWidgets 2.8.12
                 unicode 0
        Alien::wxWidgets 0.65
 Wx::Perl::ProcessStream 0.30
           Wx::Scintilla 0.36
Other...
                     PPI 1.218
           Debug::Client 0.29
       PPIx::EditorTools 0.19
           Konfiguration /home/mario/.local/share/.padre

Build hanging during install of Debug::Client

Im attempting to install from CPAN and at a certain point after the two network tests that you have to type y to confirm, a little later when it gets to installing Debug::Client dependency installation, it hangs at this no matter how long I let it sit.

CPAN: Storable loaded ok (v2.49_01)
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 22 May 2015 04:29:02 GMT
Running install for module 'Debug::Client'
CPAN: Digest::SHA loaded ok (v5.88)
CPAN: Compress::Zlib loaded ok (v2.064)
Checksum for /root/.cpan/sources/authors/id/B/BO/BOWTIE/Debug-Client-0.29.tar.gz ok
CPAN: File::Temp loaded ok (v0.2304)
'YAML' not installed, will not store persistent state
CPAN: Parse::CPAN::Meta loaded ok (v1.4414)
CPAN: CPAN::Meta loaded ok (v2.150001)
CPAN: Module::CoreList loaded ok (v5.20150214)
Configuring B/BO/BOWTIE/Debug-Client-0.29.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Debug::Client
Writing MYMETA.yml and MYMETA.json
  BOWTIE/Debug-Client-0.29.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for B/BO/BOWTIE/Debug-Client-0.29.tar.gz
cp lib/Debug/Client.pm blib/lib/Debug/Client.pm
Manifying blib/man3/Debug::Client.3pm
  BOWTIE/Debug-Client-0.29.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/00-check-deps.t ..... ok    
t/01-compile.t ........ 1/18 # Info: Testing Debug::Client 0.29
# Info: Perl v5.20.2
t/01-compile.t ........ ok     
t/02-exports.t ........ ok   
t/03-pod.t ............ skipped: Author tests, not required for installation.
t/04-pod-coverage.t ... skipped: Author tests, not required for installation.
t/06-term.t ........... 1/7 # 
# Info: Perl v5.20.2
# Info: OS linux
# Info: Term::ReadLine::Gnu installed
# Info: Using ReadLine implementation -> Term::ReadLine::Gnu
# INFO: $ENV{TERM} -> xterm-256color
t/06-term.t ........... ok   
t/07-initialize.t ..... 1/4

It just hangs forever at that point, there seems to be some semi related bugs to this, in regards to Debug::Client and Term-ReadLine-Gnu, which would crash it after initialize.t but those all seemed to be during actual usage of the debugger. I cant seem to find anyone with the same issue I am experiencing.

Term::ReadLine::Gnu is also up to date to version 1.26 which is apparently the version that fixed the other issue I referred to above.

When I try to install the dependency by itself using sudo cpan Debug::Client I get the same output.

Ive also tried installing directly using the Makefile.pl from the svn source and everything looks good but still shows I need Debug::Client as a dependency.

any thoughts on what I should try?

Thank you for your time.

Crash : Window - On selecting 'Go to Command Line Window'

This issue is 100% reproducible. Padre crashes and closes if :

  1. Go to Window
  2. Click on 'Go to Command Line Window'.

After clicking Padre crashes.

About :

Padre 0.94
Core...
osname MSWin32
archname MSWin32-x86-multi-thread
Perl 5.12.3
Threads 5
RAM 113.7MB
Wx...
Wx 0.9902
WxWidgets 2.8.12
unicode 1
Alien::wxWidgets 0.53
Wx::Perl::ProcessStream 0.30
Wx::Scintilla 0.36
Other...
PPI 1.215
Debug::Client 0.16
Config C:\Users\baila\AppData\Local\Perl\Padre

Debugger crashes Padre ungracefully

When I run the debugger, at least on my machine, Win7/32, and reach a syntax error, Padre gives an error message about the syntax error, then dies. The process has to be destroyed, and if I relaunch the program, it takes several minutes to re-open or won't until I logout :/ Installed as part of dwimperl-5.14.2.1-v7-32bit.exe

Here's a link to a memory dump created just after triggering the error with a trivial .pl ("if (} {print 'hello';}") :

http://www.filedropper.com/padre

... and one created from the re-spawned stagnant process after waiting two minutes:

http://www.filedropper.com/padre1

Thanks for checking in to it :)

Tests fail with DBD-SQLite-1.48: DBD::SQLite::db do failed: Safety level may not be changed inside a transaction

I have Padre-0.90 (because later versions require Wx::Scintilla which so not available for me owing to bundling) and for example t/15-locale.t test fails like this:

t/15-locale.t .. 
1..7
Xlib:  extension "RANDR" missing on display ":99".
ok 1 - An object of class 'Padre' isa 'Padre'
ok 2 - An object of class 'Padre::Wx::Main' isa 'Padre::Wx::Main'
DBD::SQLite::db do failed: Safety level may not be changed inside a transaction at (eval 183) line 37.
ok 3 - no warnings
# Looks like you planned 7 tests but ran 3.
# Looks like your test exited with 255 just after 3.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 4/7 subtests 

This worked with DBD-SQLite 1.46. It fails with 1.48. I bisected the problem to DBD-SQLite's commit:

  commit 7a234eb71b955064ce498e95d6ecc50d1f0580a7
Author: Kenichi Ishigaki <[email protected]>
Date:   Mon Feb 16 17:41:42 2015 +0900

    implemented a "do" shortcut for a special case (no attr, no bind params) (RT-35449)

[...]
--- a/lib/DBD/SQLite.pm
+++ b/lib/DBD/SQLite.pm
@@ -205,6 +205,16 @@ sub prepare {
 sub do {
     my ($dbh, $statement, $attr, @bind_values) = @_;

+    # shortcut
+    if  (defined $statement && !defined $attr && !@bind_values) {
+        # _do() (i.e. sqlite3_exec()) runs semicolon-separate SQL
+        # statements, which is handy but insecure sometimes.
+        # Use this only when it's safe or explicitly allowed.
+        if (index($statement, ';') == -1 or $dbh->FETCH('sqlite_allow_multiple_statements')) {
+            return DBD::SQLite::db::_do($dbh, $statement);
+        }
+    }
+
     my @copy = @{[@bind_values]};
     my $rows = 0;

It can be a new bug in DBD-SQLite, or misuse in Padre.

Can somebody verify this is still issue with latest Padre?

If you think this is DBD-SQLite's bug, can you please help me to minimize the reproducer so it become useful bug report for DBD-SQLite?

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.