Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-27 Thread Seth Hillbrand

On 11/27/19 1:19 AM, Eeli Kaikkonen wrote:
Feel free to contact me through email or otherwise. Although I'm not 
really a python developer any more than a C++ developer (I have done 
some of both), in this context I'm personally more interested in 
getting the python part of KiCad forward.




One great way for non-developers to contribute would be in the 
documentation part of the Python interface.  Since you are conversant in 
both C++ and Python, you would be a great person to write up explicit 
documentation on where Python ties into the KiCad codebase and how to 
implement features.  This is sorely lacking and exists as a bit of 
cross-over between the user-side and the developer side.


Orson's talk at KiCon was extremely popular for exactly this reason: it 
was a well-designed how-to that provided a missing introduction at the 
designer level.


Thoughts?
-S

--
KiCad Services Corporation KiCad Services Corporation Logo
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬ 
Davis, CA
www.kipro-pcb.com  i...@kipro-pcb.com 

https://twitter.com/KiProEDA  
https://www.linkedin.com/company/kicad 



___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-27 Thread Seth Hillbrand

On 11/27/19 12:15 AM, mitjan696-ubu...@yahoo.co.uk wrote:

Hi Seth,

This does sound like an invitation. I've written a number of action 
plugins [1] and would be glad to help with KiCad main code, but my C++ 
skills are nonexistent (I do know a bit of C though, so the basic 
syntax should not be an issue). I've never built KiCad from source and 
I am developing on Windows. So how should I proceed?


Best regard, Mitja


Hi Mitja-

It is indeed an invitation.  Thank you for stepping up!  Most of the 
Python tagged bugs in the tracker are actually C++ bugs or wishlist 
items that deal with the Python interface.  I have in mind a few other 
ideas for Python coders who'd like to contribute.  I'll run them by the 
lead devs first and after buy-in, I'll coordinate with you offline to 
see which you are interested in.


We'll also see what we can do about explicitly encouraging Python 
contributions in the future.


Thanks again and I'll be in touch shortly!
-Seth

--
KiCad Services Corporation KiCad Services Corporation Logo
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬ 
Davis, CA
www.kipro-pcb.com  i...@kipro-pcb.com 

https://twitter.com/KiProEDA  
https://www.linkedin.com/company/kicad 



___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-27 Thread Eeli Kaikkonen
ke 27. marrask. 2019 klo 1.51 Seth Hillbrand (s...@kipro-pcb.com) kirjoitti:

> After the initial
> ideas and implementation are documented, it will go to the lead
> developers first to ensure everyone agrees with the plan and course of
> action.  After that, it will be published on the list for open comments.
>   This ensures we conserve time and effort.
>
>
OK, let's see.  I'm just not sure about what can be an "initial" idea or
implementation and what is such a detail which should be discussed only
afterwards. After all, I have done some experimentetation and have noticed
both high-level principles and lower level implementation related things.
Sometimes it's difficult to separate them.



> If there are any python developers who would like to contribute code to
> the KiCad codebase and are looking for how to do that, please contact
> me.  There's lots of Python work to be done.  I'm happy to help provide
> an introduction to that code and some structure for how to address a
> number of existing wishlist items that require Python.
>
>
Feel free to contact me through email or otherwise. Although I'm not really
a python developer any more than a C++ developer (I have done some of
both), in this context I'm personally more interested in getting the python
part of KiCad forward.

Eeli Kaikkonen
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-27 Thread mitjan696-ubu...@yahoo.co.uk
 Hi Seth,
This does sound like an invitation. I've written a number of action plugins [1] 
and would be glad to help with KiCad main code, but my C++ skills are 
nonexistent (I do know a bit of C though, so the basic syntax should not be an 
issue). I've never built KiCad from source and I am developing on Windows. So 
how should I proceed?
Best regard, Mitja

[1] https://github.com/MitjaNemec/Kicad_action_plugins

On Wednesday, 27 November 2019, 00:51:37 CET, Seth Hillbrand 
 wrote:  
 
 If there are any python developers who would like to contribute code to 
the KiCad codebase and are looking for how to do that, please contact 
me.  There's lots of Python work to be done.  I'm happy to help provide 
an introduction to that code and some structure for how to address a 
number of existing wishlist items that require Python.

Best-
Seth


Seth Hillbrand
KiCad Services Corporation
https://www.kipro-pcb.com
+1 530 302 5483 | +1 212 603 9372

___
Mailing list: https://launchpad.net/~kicad-developers
Post to    : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help  : https://help.launchpad.net/ListHelp
  ___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Seth Hillbrand

On 2019-11-26 14:40, Eeli Kaikkonen wrote:

ti 26. marrask. 2019 klo 22.23 Seth Hillbrand (s...@kipro-pcb.com) 
kirjoitti:



We need to start with the API definition and file format changes.  The
API definition should include end points and returns.  The file format
changes should include the files and specific configuration lines
needed.

Please do not go down the road of an entirely public infrastructure
manager.  We can include an option for additional servers that return
the API calls, but this needs to be centralized to fit into the KiCad
roadmap.


I don't understand either of these points, could you open up them a 
bit?


There will be a feature proposal document when it is ready for general 
input.  The early form discussions quickly derail, so it's not useful 
yet to discuss a potential feature implementation.  After the initial 
ideas and implementation are documented, it will go to the lead 
developers first to ensure everyone agrees with the plan and course of 
action.  After that, it will be published on the list for open comments. 
 This ensures we conserve time and effort.



I don't see why these should be known first. I hoped that the content 
manager could be developed mostly separately from KiCad and in python - 
that would be a great strength, hopefully saving time and effort from 
the main developers while drawing in new volunteers.


If there are any python developers who would like to contribute code to 
the KiCad codebase and are looking for how to do that, please contact 
me.  There's lots of Python work to be done.  I'm happy to help provide 
an introduction to that code and some structure for how to address a 
number of existing wishlist items that require Python.


Best-
Seth


Seth Hillbrand
KiCad Services Corporation
https://www.kipro-pcb.com
+1 530 302 5483 | +1 212 603 9372

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Eeli Kaikkonen
ti 26. marrask. 2019 klo 22.23 Seth Hillbrand (s...@kipro-pcb.com)
kirjoitti:

>
> We need to start with the API definition and file format changes.  The
> API definition should include end points and returns.  The file format
> changes should include the files and specific configuration lines
> needed.
>
> Please do not go down the road of an entirely public infrastructure
> manager.  We can include an option for additional servers that return
> the API calls, but this needs to be centralized to fit into the KiCad
> roadmap.
>

 I don't understand either of these points, could you open up them a bit?

When I played with my plugin manager I realized that the manager can be
completely agnostic about the content. It can also be mostly separate from
KiCad C++ code, it doesn't need to know the internals of KiCad, and there's
definitely no need for file format changes. Unless you talk about having
for example some repository URLs or desired installation locations in main
KiCad configuration file. KiCad should have API for refreshing the
libraries and plugins after installing new ones, not much else. Possibly
KiCad should be aware of the changing file system while
installing/removing/updating.

I don't see why these should be known first. I hoped that the content
manager could be developed mostly separately from KiCad and in python -
that would be a great strength, hopefully saving time and effort from the
main developers while drawing in new volunteers. It could indeed be a
plugin (as a proof of concept my plugin can install and update itself). It
could easily be modified afterwards to plug it into KiCad, after finding
out what it needs from KiCad and what KiCad needs from it.

What do you mean by completely public infrastructure manager? There
probably should be something preconfigured for this to be as user friendly
as possible and to fully integrate with KiCad and the official libraries
and other official content. But as for other, 3rd party, content, the only
reason to have a content manager is to allow people to add content freely,
so that a plugin writer (or anyone else) can publish an installable plugin
and the end user can install it.

What is "additional servers that return the API calls"? There's no need for
any servers apart from existing ones around the world, any server in
internet or even local hard disk which has files which can be downloaded or
copied. There's no need for any additional protocol or API for a server.

BTW, here's a link to bobc's introduction to kipi, his idea of a content
installer:
https://forum.kicad.info/t/announcing-kicad-package-installer-kipi/10193.
It follows roughly the same ideas than mine, although mine introduced the
idea of a metadata repository from the beginning.

Eeli Kaikkonen
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Eeli Kaikkonen
I think the differences expressed are about problems in communication, not
differences in actual opinions. I agree with myself (obviously), with what
Andrew said and with Ian. We are just talking past each other, about
different things.

Me said (meant): the content manager should be generic enough and have a
reusable (within reason, considering KiCad's needs) backend with a clear
API, then KiCad specific parts and UI built upon that. Just normal good
architecture, nothing more.
Andrew said: it should be integrated into KiCad for easy user experience
and targeted for KiCad end users, and be safe to use.
Ian said: it should be flexible and allow different use cases and
configurations.

As we can see, there's no real conflict.

The backend could be developed independently from the UI and KiCad specific
parts.

Eeli Kaikkonen

ti 26. marrask. 2019 klo 17.20 Ian McInerney (ian.s.mciner...@ieee.org)
kirjoitti:

> We should not limit the end points available to users to be only the KiCad
> systems we decide, and also should not constrain plugins to be open source.
> Doing this would constrain independent companies from developing plugins to
> interface KiCad with their systems if they so choose (for instance, if a
> company wanted to create a plugin to use an EM simulation package from
> KiCad to simulate the board and sell it as an extension to their product,
> baring other licensing concerns).
>
> Any plugins we provide through a KiCad official repositories could have
> the open source requirement, but the idea of a centralized repository that
> should be scoped out and discussed.
>
> -Ian
>
> On Tue, Nov 26, 2019 at 12:34 PM Andrew Lutsenko 
> wrote:
>
>> HI Eeli,
>>
>> I've seen that thread earlier and reread it again.
>>
>> Some of your ideas have merit but I think built-in content manager should:
>> 1. Be at least somewhat coupled to KiCad needs and not be super generic.
>> We are not building apt-get repository here that has to handle arbitrarily
>> complex packaging//installing/dependency resolution behavior.
>> 2. Have some sort of central managed repository so that some rules can be
>> enforced like proper licensing and author attribution, as well as enforcing
>> open source requirement for plugins.
>>
>> Good chunk of reasoning for the above comes from security considerations.
>> For example when I download a library with built-in kicad manager I trust
>> that no arbitrary non-kicad code will be executed because there is no need
>> for library to have any code. Generic plugin manager knows nothing about
>> what files are symbol libraries and where to put them and what are 3d
>> models/footprints. Kicad plugin manager can automatically suggest to add
>> libraries to your lib tables.
>> Enforcing open source requirement for plugins is also important so that
>> any user can check what are they downloading before they do. And users
>> without the technical ability to do so will rely on community feedback
>> and/or rating system to build some degree of trust that code is not
>> malicious.
>>
>> That's not to say that "side loading" a plugin from your own
>> manifest/metadata file would not be possible. Of course it should be, even
>> just for development purposes, but then you are on your own. Being able to
>> use custom repository should also be possible.
>>
>> Of course all of the above are just my opinions and will be open for
>> discussion but it's easier to do in the google doc. I'm happy to capture
>> alternative options with their pros/cons in the doc as well.
>>
>> Regards,
>> Andrew
>>
>>
>> On Tue, Nov 26, 2019 at 2:25 AM Eeli Kaikkonen 
>> wrote:
>>
>>>
>>>
>>> ti 26. marrask. 2019 klo 11.27 Nick Østergaard (oe.n...@gmail.com)
>>> kirjoitti:
>>>
 I don't know if you use freecad, if you do you probably used the addon
 manager. It is quite helpful in installing python plugins.

 It is probably worth reviewing how it works conceptually.

>>>
>>> Yes, I know about it. For me it was easier to start from scratch. And
>>> I'm a bit more ambitious than the FreeCAD plugin manager, although my
>>> skills don't always follow :)
>>>
>>> Here's a forum discussion:
>>> https://forum.kicad.info/t/one-script-to-rule-them-all/8935. Try to
>>> skip the unpleasant parts.
>>>
>>> I don't remember all the details anymore, but I think I already
>>> envisioned and maybe partly implemented more generic purpose features than
>>> I originally intended. Of course bobc was right and the manager should
>>> manage all kinds of downloadable content. One misunderstanding I would like
>>> to remove in the very beginning. This is not tied to any one central
>>> repository. It's just a matter of configuration and implementation details.
>>> The end user could configure different repositories or single package
>>> description sources. A "repository" is just one URL where several package
>>> descriptions can be found. Of course that URL should be configurable,
>>> chosen from a list etc.
>>>
>>> Eeli Kaikkonen

Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Ian McInerney
We should not limit the end points available to users to be only the KiCad
systems we decide, and also should not constrain plugins to be open source.
Doing this would constrain independent companies from developing plugins to
interface KiCad with their systems if they so choose (for instance, if a
company wanted to create a plugin to use an EM simulation package from
KiCad to simulate the board and sell it as an extension to their product,
baring other licensing concerns).

Any plugins we provide through a KiCad official repositories could have the
open source requirement, but the idea of a centralized repository that
should be scoped out and discussed.

-Ian

On Tue, Nov 26, 2019 at 12:34 PM Andrew Lutsenko 
wrote:

> HI Eeli,
>
> I've seen that thread earlier and reread it again.
>
> Some of your ideas have merit but I think built-in content manager should:
> 1. Be at least somewhat coupled to KiCad needs and not be super generic.
> We are not building apt-get repository here that has to handle arbitrarily
> complex packaging//installing/dependency resolution behavior.
> 2. Have some sort of central managed repository so that some rules can be
> enforced like proper licensing and author attribution, as well as enforcing
> open source requirement for plugins.
>
> Good chunk of reasoning for the above comes from security considerations.
> For example when I download a library with built-in kicad manager I trust
> that no arbitrary non-kicad code will be executed because there is no need
> for library to have any code. Generic plugin manager knows nothing about
> what files are symbol libraries and where to put them and what are 3d
> models/footprints. Kicad plugin manager can automatically suggest to add
> libraries to your lib tables.
> Enforcing open source requirement for plugins is also important so that
> any user can check what are they downloading before they do. And users
> without the technical ability to do so will rely on community feedback
> and/or rating system to build some degree of trust that code is not
> malicious.
>
> That's not to say that "side loading" a plugin from your own
> manifest/metadata file would not be possible. Of course it should be, even
> just for development purposes, but then you are on your own. Being able to
> use custom repository should also be possible.
>
> Of course all of the above are just my opinions and will be open for
> discussion but it's easier to do in the google doc. I'm happy to capture
> alternative options with their pros/cons in the doc as well.
>
> Regards,
> Andrew
>
>
> On Tue, Nov 26, 2019 at 2:25 AM Eeli Kaikkonen 
> wrote:
>
>>
>>
>> ti 26. marrask. 2019 klo 11.27 Nick Østergaard (oe.n...@gmail.com)
>> kirjoitti:
>>
>>> I don't know if you use freecad, if you do you probably used the addon
>>> manager. It is quite helpful in installing python plugins.
>>>
>>> It is probably worth reviewing how it works conceptually.
>>>
>>
>> Yes, I know about it. For me it was easier to start from scratch. And I'm
>> a bit more ambitious than the FreeCAD plugin manager, although my skills
>> don't always follow :)
>>
>> Here's a forum discussion:
>> https://forum.kicad.info/t/one-script-to-rule-them-all/8935. Try to skip
>> the unpleasant parts.
>>
>> I don't remember all the details anymore, but I think I already
>> envisioned and maybe partly implemented more generic purpose features than
>> I originally intended. Of course bobc was right and the manager should
>> manage all kinds of downloadable content. One misunderstanding I would like
>> to remove in the very beginning. This is not tied to any one central
>> repository. It's just a matter of configuration and implementation details.
>> The end user could configure different repositories or single package
>> description sources. A "repository" is just one URL where several package
>> descriptions can be found. Of course that URL should be configurable,
>> chosen from a list etc.
>>
>> Eeli Kaikkonen
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Andrew Lutsenko
API definition and file formats are second step. We need to agree on
supported use cases, high level data flows, systems pieces involved.

Thing with public infra is that it's easy to move it to private infra but
not the other way around. So it's best to design as much of the system as
possible to be runnable on public infra. And I believe almost everything
can be done there. But let's discuss this after I share my design.

Thanks,
Andrew

On Tue, Nov 26, 2019 at 6:19 AM Seth Hillbrand  wrote:

> On 2019-11-25 17:46, Andrew Lutsenko wrote:
>
> > Hi Seth,
> >
> > Yes, I planned to write up my design in google doc and open it to
> > comments. I think that works best for public discussion, even though it
> > requires having a google account.
> >
> > Design I'm thinking about requires 0 custom backend work. It will rely
> > entirely on publicly available infra such as github/gitlab hosting and
> > ci/cd pipelines. Admittedly that imposes some limitations on what we
> > can do (and I will outline them in my doc) but we can always add custom
> > backend system later to complement free infra.
> > Assuming design is accepted I am interested in doing at least a
> > minimally functional implementation. I have a lot of ideas but some of
> > them will have to be implemented later because it's not a trivial task.
> >
> > Ok, I'll start working on it and will hopefully share the doc by end of
> > this week.
> >
> > Andrew
>
> Hi Andrew-
>
> We need to start with the API definition and file format changes.  The
> API definition should include end points and returns.  The file format
> changes should include the files and specific configuration lines
> needed.
>
> Please do not go down the road of an entirely public infrastructure
> manager.  We can include an option for additional servers that return
> the API calls, but this needs to be centralized to fit into the KiCad
> roadmap.
>
> Best-
> Seth
>
> Seth Hillbrand
> KiCad Services Corporation
> https://www.kipro-pcb.com
> +1 530 302 5483 | +1 212 603 9372
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Seth Hillbrand

On 2019-11-25 17:46, Andrew Lutsenko wrote:


Hi Seth,

Yes, I planned to write up my design in google doc and open it to 
comments. I think that works best for public discussion, even though it 
requires having a google account.


Design I'm thinking about requires 0 custom backend work. It will rely 
entirely on publicly available infra such as github/gitlab hosting and 
ci/cd pipelines. Admittedly that imposes some limitations on what we 
can do (and I will outline them in my doc) but we can always add custom 
backend system later to complement free infra.
Assuming design is accepted I am interested in doing at least a 
minimally functional implementation. I have a lot of ideas but some of 
them will have to be implemented later because it's not a trivial task.


Ok, I'll start working on it and will hopefully share the doc by end of 
this week.


Andrew


Hi Andrew-

We need to start with the API definition and file format changes.  The 
API definition should include end points and returns.  The file format 
changes should include the files and specific configuration lines 
needed.


Please do not go down the road of an entirely public infrastructure 
manager.  We can include an option for additional servers that return 
the API calls, but this needs to be centralized to fit into the KiCad 
roadmap.


Best-
Seth

Seth Hillbrand
KiCad Services Corporation
https://www.kipro-pcb.com
+1 530 302 5483 | +1 212 603 9372

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Eeli Kaikkonen
ti 26. marrask. 2019 klo 11.27 Nick Østergaard (oe.n...@gmail.com)
kirjoitti:

> I don't know if you use freecad, if you do you probably used the addon
> manager. It is quite helpful in installing python plugins.
>
> It is probably worth reviewing how it works conceptually.
>

Yes, I know about it. For me it was easier to start from scratch. And I'm a
bit more ambitious than the FreeCAD plugin manager, although my skills
don't always follow :)

Here's a forum discussion:
https://forum.kicad.info/t/one-script-to-rule-them-all/8935. Try to skip
the unpleasant parts.

I don't remember all the details anymore, but I think I already envisioned
and maybe partly implemented more generic purpose features than I
originally intended. Of course bobc was right and the manager should manage
all kinds of downloadable content. One misunderstanding I would like to
remove in the very beginning. This is not tied to any one central
repository. It's just a matter of configuration and implementation details.
The end user could configure different repositories or single package
description sources. A "repository" is just one URL where several package
descriptions can be found. Of course that URL should be configurable,
chosen from a list etc.

Eeli Kaikkonen
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Eeli Kaikkonen
OK, I refreshed my memory. I have a group in github (not gitlab):
https://github.com/kc-plugin-publishers. You can check out there what I
have written. There are three things: the manager script (plugin), example
dummy plugins to be installed, and the description files (.plugininfo
files). Now when I look back, the instructions aren't super clear. But you
should be able to see what's going on.

Notice that the script was written with KiCad python plugins in mind at
first, but also for more generic use. There's nothing which prevents
applying this to any file content. You can see in the description file
template that any files can be installed. If I remember correctly the
limitation right now is that you can't install to any location. That should
be changed so that the destination directory is configurable by the end
user (but not by the content description file) so that e.g. KiCad libraries
can be installed to their own directories.

It should be needless to say that nothing is set in stone - names,
architecture, file format, language etc. This was just a proof of concept.
The number one lesson is that you can use the existing infrastructures
(downloadable files in net or even local files) to create a simple content
manager where anyone can write a content description file and publish it
(without being a developer or having any special priviledges or skills),
and the content manager can download, install and uninstall those packages.
There's no need to "package" anything. The upstream developers of content
don't have to know anything about this. You can test this by writing a
.plugininfo file for an existing plugin.

Eeli Kaikkonen

ti 26. marrask. 2019 klo 10.23 Eeli Kaikkonen (eeli.kaikko...@gmail.com)
kirjoitti:

> I'm in a hurry right now, so I just give few points. You can find some
> discussions in the forum (I'll find them later). What I learned when I did
> some coding is this:
>
> - Ideal content manager is a separate backend and frontend and reusable
> for other projects, too.
> - It's really general purpose and actually not tied to KiCad, at least the
> backend.
> - It doesn't need (and shouldn't) be tied to KiCad even with code, except
> minimally. It can be a plugin or separate application - there's no need to
> change KiCad.
> - It can use existing infrastructures like github, gitlab or any zip files.
> - Anyone can easily write a description file for a package and publish it.
> There's no need for actual packages (a zip file of the content is enough,
> or even any downloadable files).
> - It's difficult to decide what it should and should not do so that it
> doesn't become a full fledged package management system, is simple enough
> but also powerful and flexible enough. (Think about versioning of content
> and automatic handling of dependencies.)
> - I suggest using python so that it can be a plugin.
> - Technically the most difficult part is probably networking (needs all
> the boring stuff like error handling and should be asyncronous to be good;
> that's where I left off).
>
> I already coded a command line script which can work as plugin. It can
> install itself from gitlab when I click the KiCad plugin menu item, so it
> basically shows how the infrastructure works. Actually it's possible to
> write a package description file for any KiCad plugin and it will install
> it. I already did some.
>
> Eeli Kaikkonen
>
>
> ti 26. marrask. 2019 klo 3.46 Andrew Lutsenko (anlutse...@gmail.com)
> kirjoitti:
>
>> Hi Seth,
>>
>> Yes, I planned to write up my design in google doc and open it to
>> comments. I think that works best for public discussion, even though it
>> requires having a google account.
>>
>> Design I'm thinking about requires 0 custom backend work. It will rely
>> entirely on publicly available infra such as github/gitlab hosting and
>> ci/cd pipelines. Admittedly that imposes some limitations on what we can do
>> (and I will outline them in my doc) but we can always add custom backend
>> system later to complement free infra.
>> Assuming design is accepted I am interested in doing at least a minimally
>> functional implementation. I have a lot of ideas but some of them will have
>> to be implemented later because it's not a trivial task.
>>
>> Ok, I'll start working on it and will hopefully share the doc by end of
>> this week.
>>
>> Andrew
>>
>> On Mon, Nov 25, 2019 at 4:16 PM Seth Hillbrand 
>> wrote:
>>
>>> On 11/25/19 3:21 PM, Andrew Lutsenko wrote:
>>>
>>> Hi all,
>>>
>>> Is anyone currently working on some sort of plugin manager or 3rd party
>>> library manager?
>>> https://bugs.launchpad.net/kicad/+bug/1823733
>>>
>>> I have some ideas that I want to write down in a form of high level
>>> design document and share with the group for discussion. If there is
>>> already some work done in that direction I'd like to avoid duplication of
>>> efforts.
>>>
>>> Regards,
>>> Andrew
>>>
>>> ___
>>> Mailing list: 

Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Eeli Kaikkonen
I'm in a hurry right now, so I just give few points. You can find some
discussions in the forum (I'll find them later). What I learned when I did
some coding is this:

- Ideal content manager is a separate backend and frontend and reusable for
other projects, too.
- It's really general purpose and actually not tied to KiCad, at least the
backend.
- It doesn't need (and shouldn't) be tied to KiCad even with code, except
minimally. It can be a plugin or separate application - there's no need to
change KiCad.
- It can use existing infrastructures like github, gitlab or any zip files.
- Anyone can easily write a description file for a package and publish it.
There's no need for actual packages (a zip file of the content is enough,
or even any downloadable files).
- It's difficult to decide what it should and should not do so that it
doesn't become a full fledged package management system, is simple enough
but also powerful and flexible enough. (Think about versioning of content
and automatic handling of dependencies.)
- I suggest using python so that it can be a plugin.
- Technically the most difficult part is probably networking (needs all the
boring stuff like error handling and should be asyncronous to be good;
that's where I left off).

I already coded a command line script which can work as plugin. It can
install itself from gitlab when I click the KiCad plugin menu item, so it
basically shows how the infrastructure works. Actually it's possible to
write a package description file for any KiCad plugin and it will install
it. I already did some.

Eeli Kaikkonen


ti 26. marrask. 2019 klo 3.46 Andrew Lutsenko (anlutse...@gmail.com)
kirjoitti:

> Hi Seth,
>
> Yes, I planned to write up my design in google doc and open it to
> comments. I think that works best for public discussion, even though it
> requires having a google account.
>
> Design I'm thinking about requires 0 custom backend work. It will rely
> entirely on publicly available infra such as github/gitlab hosting and
> ci/cd pipelines. Admittedly that imposes some limitations on what we can do
> (and I will outline them in my doc) but we can always add custom backend
> system later to complement free infra.
> Assuming design is accepted I am interested in doing at least a minimally
> functional implementation. I have a lot of ideas but some of them will have
> to be implemented later because it's not a trivial task.
>
> Ok, I'll start working on it and will hopefully share the doc by end of
> this week.
>
> Andrew
>
> On Mon, Nov 25, 2019 at 4:16 PM Seth Hillbrand  wrote:
>
>> On 11/25/19 3:21 PM, Andrew Lutsenko wrote:
>>
>> Hi all,
>>
>> Is anyone currently working on some sort of plugin manager or 3rd party
>> library manager?
>> https://bugs.launchpad.net/kicad/+bug/1823733
>>
>> I have some ideas that I want to write down in a form of high level
>> design document and share with the group for discussion. If there is
>> already some work done in that direction I'd like to avoid duplication of
>> efforts.
>>
>> Regards,
>> Andrew
>>
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>> Hi Andrew-
>>
>> There are a few ongoing discussions about what needs to be included and
>> the backend server design needed in addition to how the software would
>> interact with the data.
>>
>> I'd be interested to see the design document you come up with.  If you
>> are interested in doing the full implementation, it would be good to see
>> your thoughts in the design document.  If you do write this up, please
>> include it in a format/locate that allows for content-level suggestions
>> such as Google Documents or markdown document on GitLab/GitHub.
>>
>> Thanks!
>> -Seth
>>
>> --
>> KiCad Services Corporation [image: KiCad Services Corporation Logo]
>> Seth Hillbrand
>> *Lead Developer*
>> +1-530-302-5483‬ <+12126039372>
>> Davis, CA
>> www.kipro-pcb.comi...@kipro-pcb.com
>> https://twitter.com/KiProEDA 
>> https://www.linkedin.com/company/kicad
>> 
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : 

Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-26 Thread Andrew Lutsenko
That's good to know.
For minimal implementation it will not be required but it can be used for
telemetry, user ratings and things like that.
I'll talk about it more in the doc.

I'm assuming it's easy to expose some service wrapped in a container via
endpoint like kicad-pcb.org/api/v1/ratings or something like that?

Andrew

On Mon, Nov 25, 2019 at 8:46 PM Mark Roszko  wrote:

> >always add custom backend system later to complement free infra.
>
> We do have free infrastructure that can run backend code at CERN. Just
> needs to package up in a docker container and run as non-root inside the
> container. Assuming also it's not some resource hog of a system that eats
> the entire OpenShift cluster.
>
> On Mon, Nov 25, 2019 at 8:47 PM Andrew Lutsenko 
> wrote:
>
>> Hi Seth,
>>
>> Yes, I planned to write up my design in google doc and open it to
>> comments. I think that works best for public discussion, even though it
>> requires having a google account.
>>
>> Design I'm thinking about requires 0 custom backend work. It will rely
>> entirely on publicly available infra such as github/gitlab hosting and
>> ci/cd pipelines. Admittedly that imposes some limitations on what we can do
>> (and I will outline them in my doc) but we can always add custom backend
>> system later to complement free infra.
>> Assuming design is accepted I am interested in doing at least a minimally
>> functional implementation. I have a lot of ideas but some of them will have
>> to be implemented later because it's not a trivial task.
>>
>> Ok, I'll start working on it and will hopefully share the doc by end of
>> this week.
>>
>> Andrew
>>
>> On Mon, Nov 25, 2019 at 4:16 PM Seth Hillbrand 
>> wrote:
>>
>>> On 11/25/19 3:21 PM, Andrew Lutsenko wrote:
>>>
>>> Hi all,
>>>
>>> Is anyone currently working on some sort of plugin manager or 3rd party
>>> library manager?
>>> https://bugs.launchpad.net/kicad/+bug/1823733
>>>
>>> I have some ideas that I want to write down in a form of high level
>>> design document and share with the group for discussion. If there is
>>> already some work done in that direction I'd like to avoid duplication of
>>> efforts.
>>>
>>> Regards,
>>> Andrew
>>>
>>> ___
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to : kicad-developers@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>> Hi Andrew-
>>>
>>> There are a few ongoing discussions about what needs to be included and
>>> the backend server design needed in addition to how the software would
>>> interact with the data.
>>>
>>> I'd be interested to see the design document you come up with.  If you
>>> are interested in doing the full implementation, it would be good to see
>>> your thoughts in the design document.  If you do write this up, please
>>> include it in a format/locate that allows for content-level suggestions
>>> such as Google Documents or markdown document on GitLab/GitHub.
>>>
>>> Thanks!
>>> -Seth
>>>
>>> --
>>> KiCad Services Corporation [image: KiCad Services Corporation Logo]
>>> Seth Hillbrand
>>> *Lead Developer*
>>> +1-530-302-5483‬ <+12126039372>
>>> Davis, CA
>>> www.kipro-pcb.comi...@kipro-pcb.com
>>> https://twitter.com/KiProEDA 
>>> https://www.linkedin.com/company/kicad
>>> 
>>> ___
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to : kicad-developers@lists.launchpad.net
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>
>
> --
> Mark
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-25 Thread Mark Roszko
>always add custom backend system later to complement free infra.

We do have free infrastructure that can run backend code at CERN. Just
needs to package up in a docker container and run as non-root inside the
container. Assuming also it's not some resource hog of a system that eats
the entire OpenShift cluster.

On Mon, Nov 25, 2019 at 8:47 PM Andrew Lutsenko 
wrote:

> Hi Seth,
>
> Yes, I planned to write up my design in google doc and open it to
> comments. I think that works best for public discussion, even though it
> requires having a google account.
>
> Design I'm thinking about requires 0 custom backend work. It will rely
> entirely on publicly available infra such as github/gitlab hosting and
> ci/cd pipelines. Admittedly that imposes some limitations on what we can do
> (and I will outline them in my doc) but we can always add custom backend
> system later to complement free infra.
> Assuming design is accepted I am interested in doing at least a minimally
> functional implementation. I have a lot of ideas but some of them will have
> to be implemented later because it's not a trivial task.
>
> Ok, I'll start working on it and will hopefully share the doc by end of
> this week.
>
> Andrew
>
> On Mon, Nov 25, 2019 at 4:16 PM Seth Hillbrand  wrote:
>
>> On 11/25/19 3:21 PM, Andrew Lutsenko wrote:
>>
>> Hi all,
>>
>> Is anyone currently working on some sort of plugin manager or 3rd party
>> library manager?
>> https://bugs.launchpad.net/kicad/+bug/1823733
>>
>> I have some ideas that I want to write down in a form of high level
>> design document and share with the group for discussion. If there is
>> already some work done in that direction I'd like to avoid duplication of
>> efforts.
>>
>> Regards,
>> Andrew
>>
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>> Hi Andrew-
>>
>> There are a few ongoing discussions about what needs to be included and
>> the backend server design needed in addition to how the software would
>> interact with the data.
>>
>> I'd be interested to see the design document you come up with.  If you
>> are interested in doing the full implementation, it would be good to see
>> your thoughts in the design document.  If you do write this up, please
>> include it in a format/locate that allows for content-level suggestions
>> such as Google Documents or markdown document on GitLab/GitHub.
>>
>> Thanks!
>> -Seth
>>
>> --
>> KiCad Services Corporation [image: KiCad Services Corporation Logo]
>> Seth Hillbrand
>> *Lead Developer*
>> +1-530-302-5483‬ <+12126039372>
>> Davis, CA
>> www.kipro-pcb.comi...@kipro-pcb.com
>> https://twitter.com/KiProEDA 
>> https://www.linkedin.com/company/kicad
>> 
>> ___
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>


-- 
Mark
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-25 Thread Andrew Lutsenko
Hi Seth,

Yes, I planned to write up my design in google doc and open it to comments.
I think that works best for public discussion, even though it requires
having a google account.

Design I'm thinking about requires 0 custom backend work. It will rely
entirely on publicly available infra such as github/gitlab hosting and
ci/cd pipelines. Admittedly that imposes some limitations on what we can do
(and I will outline them in my doc) but we can always add custom backend
system later to complement free infra.
Assuming design is accepted I am interested in doing at least a minimally
functional implementation. I have a lot of ideas but some of them will have
to be implemented later because it's not a trivial task.

Ok, I'll start working on it and will hopefully share the doc by end of
this week.

Andrew

On Mon, Nov 25, 2019 at 4:16 PM Seth Hillbrand  wrote:

> On 11/25/19 3:21 PM, Andrew Lutsenko wrote:
>
> Hi all,
>
> Is anyone currently working on some sort of plugin manager or 3rd party
> library manager?
> https://bugs.launchpad.net/kicad/+bug/1823733
>
> I have some ideas that I want to write down in a form of high level design
> document and share with the group for discussion. If there is already some
> work done in that direction I'd like to avoid duplication of efforts.
>
> Regards,
> Andrew
>
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
> Hi Andrew-
>
> There are a few ongoing discussions about what needs to be included and
> the backend server design needed in addition to how the software would
> interact with the data.
>
> I'd be interested to see the design document you come up with.  If you are
> interested in doing the full implementation, it would be good to see your
> thoughts in the design document.  If you do write this up, please include
> it in a format/locate that allows for content-level suggestions such as
> Google Documents or markdown document on GitLab/GitHub.
>
> Thanks!
> -Seth
>
> --
> KiCad Services Corporation [image: KiCad Services Corporation Logo]
> Seth Hillbrand
> *Lead Developer*
> +1-530-302-5483‬ <+12126039372>
> Davis, CA
> www.kipro-pcb.comi...@kipro-pcb.com
> https://twitter.com/KiProEDA 
> https://www.linkedin.com/company/kicad
> 
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-25 Thread Seth Hillbrand

On 11/25/19 3:21 PM, Andrew Lutsenko wrote:

Hi all,

Is anyone currently working on some sort of plugin manager or 3rd 
party library manager?

https://bugs.launchpad.net/kicad/+bug/1823733

I have some ideas that I want to write down in a form of high level 
design document and share with the group for discussion. If there is 
already some work done in that direction I'd like to avoid duplication 
of efforts.


Regards,
Andrew

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Hi Andrew-

There are a few ongoing discussions about what needs to be included and 
the backend server design needed in addition to how the software would 
interact with the data.


I'd be interested to see the design document you come up with.  If you 
are interested in doing the full implementation, it would be good to see 
your thoughts in the design document.  If you do write this up, please 
include it in a format/locate that allows for content-level suggestions 
such as Google Documents or markdown document on GitLab/GitHub.


Thanks!
-Seth

--
KiCad Services Corporation KiCad Services Corporation Logo
Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬ 
Davis, CA
www.kipro-pcb.com  i...@kipro-pcb.com 

https://twitter.com/KiProEDA  
https://www.linkedin.com/company/kicad 



___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Plugin/3rd party content manager

2019-11-25 Thread Brian
That’s been a topic near to my heart for some time, but I’ve done nearly 
nothing toward implementing it. I’d be very interested in being involved in 
discussions of possible shapes it could take.

-Brian H

> On Nov 25, 2019, at 6:21 PM, Andrew Lutsenko  wrote:
> 
> 
> Hi all,
> 
> Is anyone currently working on some sort of plugin manager or 3rd party 
> library manager?
> https://bugs.launchpad.net/kicad/+bug/1823733
> 
> I have some ideas that I want to write down in a form of high level design 
> document and share with the group for discussion. If there is already some 
> work done in that direction I'd like to avoid duplication of efforts.
> 
> Regards,
> Andrew
> ___
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp