Development status update (August 2019)

Monthly status updates about Source.Python development.
User avatar
Ayuto
Project Leader
Posts: 2193
Joined: Sat Jul 07, 2012 8:17 am
Location: Germany

Development status update (August 2019)

Postby Ayuto » Tue Sep 03, 2019 7:33 pm

It's time for another development status update! :smile:

  • Fixes:
    • null
  • Additions:
    • nada
  • Removals:
    • niente
  • Changes:
    • nothing

The full changelog can be found here:
https://github.com/Source-Python-Dev-Team/Source.Python/compare/master@%7B2019-08-01%7D...master@%7B2019-09-01%7D
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Re: Development status update (August 2019)

Postby BackRaw » Sat Nov 23, 2019 8:10 pm

So does this mean SP is feature complete (for now)?
User avatar
L'In20Cible
Project Leader
Posts: 1533
Joined: Sat Jul 14, 2012 9:29 pm
Location: Québec

Re: Development status update (August 2019)

Postby L'In20Cible » Sun Nov 24, 2019 1:47 am

BackRaw wrote:So does this mean SP is feature complete (for now)?

It really just means no development was done that month. But as far as SP being feature complete, I'd say so. I mean, you can pretty much do everything that is permitted server-side already. There might be bug fixes/optimizations or convenience modules being added from time to time but I don't think there will be anything revolutionary being implemented in a near future; simply because there is so much that can be done server-side. And if something is not directly implemented, all the tools are there to get it done. However, something I would like to get done sooner rather than later though, is probably update to Python 3.8 which contains a lot of cool stuff. Anyways, why did you ask, was there a specific feature you wanted?
DeaD_EyE
Member
Posts: 34
Joined: Wed Jan 08, 2014 10:32 am

Re: Development status update (August 2019)

Postby DeaD_EyE » Tue Nov 26, 2019 8:38 am

And if something is not directly implemented, all the tools are there to get it done. However, something I would like to get done sooner rather than later though, is probably update to Python 3.8 which contains a lot of cool stuff. Anyways, why did you ask, was there a specific feature you wanted?


This is nice. Python 3.8 has cool new stuff.
decompile
Senior Member
Posts: 416
Joined: Sat Oct 10, 2015 10:37 am
Location: Germany
Contact:

Re: Development status update (August 2019)

Postby decompile » Wed Nov 27, 2019 5:23 pm

Yaaay for python 3.8 +1
User avatar
Ayuto
Project Leader
Posts: 2193
Joined: Sat Jul 07, 2012 8:17 am
Location: Germany

Re: Development status update (August 2019)

Postby Ayuto » Thu Nov 28, 2019 10:11 pm

Just out of curiosity: what features of 3.8 would you like to use?
User avatar
L'In20Cible
Project Leader
Posts: 1533
Joined: Sat Jul 14, 2012 9:29 pm
Location: Québec

Re: Development status update (August 2019)

Postby L'In20Cible » Fri Nov 29, 2019 7:19 pm

Ayuto wrote:Just out of curiosity: what features of 3.8 would you like to use?

I personally like the following features that were added in 3.7-3.8:

  • Module's __getattr__ and __dir__ support.
  • The contextvar module.
  • The f-strings debugging features.
  • The dataclasses.
  • Assignment expressions.

And probably some more I don't remember.. :grin:
DeaD_EyE
Member
Posts: 34
Joined: Wed Jan 08, 2014 10:32 am

Re: Development status update (August 2019)

Postby DeaD_EyE » Sun Dec 01, 2019 12:08 pm

Dataclasses, contextvars and importlib.ressources were introduced with Python 3.6.

https://docs.python.org/3/whatsnew/3.8.html
  • Assignment expressions
  • Positional-only parameters
  • Parallel filesystem cache for compiled bytecode files
  • Debug build uses the same ABI as release build
  • f-strings support = for self-documenting expressions and debugging
  • PEP 578: Python Runtime Audit Hooks
  • PEP 587: Python Initialization Configuration
  • Vectorcall: a fast calling protocol for CPython
  • Pickle protocol 5 with out-of-band data buffers

I guess the PEP587 could be very interesting for this project.

What I really like is the ongoing improvement of the math module:
https://docs.python.org/3/whatsnew/3.8.html#math
https://docs.python.org/3/whatsnew/3.7.html#math
https://docs.python.org/3/whatsnew/3.6.html#math
https://docs.python.org/3/whatsnew/3.5.html#math

To calculate distances, we've used often constructs like this:

Code: Select all

def calc_dist1(x1,y1,z1, x2, y2, z2):
    return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)


The function math.hypot took only 2 arguments. Since Python 3.8 you can have as many arguments as you want, so you can also calculate multidimensional distances. Previous there was a funny change: Allow functions to take more as 255 arguments.

Code: Select all

def calc_dist2(x1,y1,z1, x2, y2, z2):
    return math.hypot(x2 - x1, (y2 - y1), (z2 - z1))


But wait, they added also math.dist(p, q)

Code: Select all

def calc_dist3(x1,y1,z1, x2, y2, z2):
    return math.dist((x1, y1, z1), (x2, y2, z2))


The point is, if you have the possibility to use a newer version of the language, you should do it.
This can, if adapted, improve existing code. Making it more readable and gaining more performance.
I still not using your plugin, because I stopped hosting game servers, but I like to see a Project which supports modern Python.
The examples above is just a small area. I wish I had this functions in the Software I'm working with, but they use Stackless Python 2.7.
Mostly all features I like, are not supported there. This sucks really and we have paid much money for the licenses (Visual Components).
It sucks so much, that I'm thinking to use Blender for simulation. Hopefully the last change saves me to write Code :-D
User avatar
L'In20Cible
Project Leader
Posts: 1533
Joined: Sat Jul 14, 2012 9:29 pm
Location: Québec

Re: Development status update (August 2019)

Postby L'In20Cible » Sun Dec 01, 2019 12:32 pm

DeaD_EyE wrote:Dataclasses, contextvars and importlib.ressources were introduced with Python 3.6.

No, they were added in 3.7, and since this project is still running 3.6.1 they are currently not available features. :smile:
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Re: Development status update (August 2019)

Postby BackRaw » Thu Dec 12, 2019 12:52 pm

L'In20Cible wrote:
BackRaw wrote:So does this mean SP is feature complete (for now)?

It really just means no development was done that month. But as far as SP being feature complete, I'd say so. I mean, you can pretty much do everything that is permitted server-side already. There might be bug fixes/optimizations or convenience modules being added from time to time but I don't think there will be anything revolutionary being implemented in a near future; simply because there is so much that can be done server-side. And if something is not directly implemented, all the tools are there to get it done. However, something I would like to get done sooner rather than later though, is probably update to Python 3.8 which contains a lot of cool stuff. Anyways, why did you ask, was there a specific feature you wanted?

Great, thanks for the info! I was just curious, that's all. :D

Return to “Development Status Updates”

Who is online

Users browsing this forum: No registered users and 10 guests